__glXDRIscreenCreateContext: free context on failure, instead of leaking it
Reported with other leaks found by cppcheck in bugzilla #50281 https://bugs.freedesktop.org/show_bug.cgi?id=50281 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
		
							parent
							
								
									7ab98bafc9
								
							
						
					
					
						commit
						9567fa9a72
					
				|  | @ -645,8 +645,10 @@ __glXDRIscreenCreateContext(__GLXscreen * baseScreen, | |||
|     for (i = 0; i < pScreen->numVisuals; i++, visual++) | ||||
|         if (visual->vid == glxConfig->visualID) | ||||
|             break; | ||||
|     if (i == pScreen->numVisuals) | ||||
|     if (i == pScreen->numVisuals) { | ||||
|         free(context); | ||||
|         return NULL; | ||||
|     } | ||||
| 
 | ||||
|     context->hwContextID = FakeClientID(0); | ||||
| 
 | ||||
|  | @ -655,8 +657,10 @@ __glXDRIscreenCreateContext(__GLXscreen * baseScreen, | |||
|                               context->hwContextID, &hwContext); | ||||
|     __glXleaveServer(GL_FALSE); | ||||
| 
 | ||||
|     if (!retval) | ||||
|     if (!retval) { | ||||
|         free(context); | ||||
|         return NULL; | ||||
|     } | ||||
| 
 | ||||
|     context->driContext = screen->legacy->createNewContext(screen->driScreen, config->driConfig, 0,     /* render type */ | ||||
|                                                            driShare, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue