xf86SbusCmapLoadPalette: Delay malloc until needed, avoiding leak on error
Reported with other leaks found by cppcheck in bugzilla #50281 https://bugs.freedesktop.org/show_bug.cgi?id=50281 V2: check for malloc failure Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This commit is contained in:
		
							parent
							
								
									6bca0184d1
								
							
						
					
					
						commit
						174ccd8493
					
				|  | @ -641,14 +641,16 @@ xf86SbusCmapLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, | |||
|     int i, index; | ||||
|     sbusCmapPtr cmap; | ||||
|     struct fbcmap fbcmap; | ||||
|     unsigned char *data = malloc(numColors * 3); | ||||
|     unsigned char *data; | ||||
| 
 | ||||
|     cmap = SBUSCMAPPTR(pScrn->pScreen); | ||||
|     if (!cmap) | ||||
|         return; | ||||
|     fbcmap.count = 0; | ||||
|     fbcmap.index = indices[0]; | ||||
|     fbcmap.red = data; | ||||
|     fbcmap.red = data = malloc(numColors * 3); | ||||
|     if (!data) | ||||
|         return; | ||||
|     fbcmap.green = data + numColors; | ||||
|     fbcmap.blue = fbcmap.green + numColors; | ||||
|     for (i = 0; i < numColors; i++) { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue