< prev index next >
src/java.desktop/unix/native/common/awt/X11Color.c
Print this page
rev 56159 : 8230480: check malloc/calloc results in java.desktop
*** 400,409 ****
--- 400,412 ----
cm = awt_data->awt_cmap;
depth = awt_data->awt_depth;
pVI = &awt_data->awt_visInfo;
awt_data->awt_num_colors = awt_data->awt_visInfo.colormap_size;
awt_data->awtImage = (awtImageData *) calloc (1, sizeof (awtImageData));
+ if (awt_data->awtImage == NULL) {
+ return 0;
+ }
pPFV = XListPixmapFormats(dpy, &numpfv);
if (pPFV) {
for (i = 0; i < numpfv; i++) {
if (pPFV[i].depth == depth) {
*** 560,569 ****
--- 563,573 ----
free (awt_data->awtImage);
return 0;
}
if (depth > 12) {
+ free (awt_data->awtImage);
return 1;
}
if (depth == 12) {
paletteSize = MAX_PALETTE12_SIZE;
*** 592,601 ****
--- 596,609 ----
cols[i].pixel = i;
}
awt_data->color_data->awt_Colors =
(ColorEntry *)calloc(paletteSize, sizeof (ColorEntry));
+ if (awt_data->color_data->awt_Colors == NULL) {
+ free (awt_data->awtImage);
+ return 0;
+ }
XQueryColors(dpy, cm, cols, awt_data->awt_num_colors);
for (i = 0; i < awt_data->awt_num_colors; i++) {
awt_data->color_data->awt_Colors[i].r = cols[i].red >> 8;
awt_data->color_data->awt_Colors[i].g = cols[i].green >> 8;
*** 665,674 ****
--- 673,685 ----
}
}
awt_data->color_data->img_grays =
(unsigned char *)calloc(256, sizeof(unsigned char));
+ if ( awt_data->color_data->img_grays == NULL) {
+ return 0;
+ }
for (g = 0; g < 256; g++) {
int mindist, besti;
int d;
p = awt_data->color_data->awt_Colors;
*** 808,817 ****
--- 819,831 ----
k = getVirtCubeSize();
}
awt_data->color_data->img_clr_tbl =
(unsigned char *)calloc(LOOKUPSIZE * LOOKUPSIZE * LOOKUPSIZE,
sizeof(unsigned char));
+ if (awt_data->color_data->img_clr_tbl == NULL) {
+ return 0;
+ }
img_makePalette(cmapsize, k, LOOKUPSIZE, 50, 250,
allocatedColorsNum, TRUE, reds, greens, blues,
awt_data->color_data->img_clr_tbl);
/*img_clr_tbl);*/
*** 856,865 ****
--- 870,883 ----
/* Fill in the ICM lut and lut2cmap mapping */
awt_data->color_data->awt_numICMcolors = 0;
awt_data->color_data->awt_icmLUT2Colors =
(unsigned char *)calloc(paletteSize, sizeof (unsigned char));
awt_data->color_data->awt_icmLUT = (int *)calloc(paletteSize, sizeof(int));
+ if (awt_data->color_data->awt_icmLUT2Colors == NULL || awt_data->color_data->awt_icmLUT == NULL) {
+ return 0;
+ }
+
for (i=0; i < paletteSize; i++) {
/* Keep the mapping between this lut and the actual cmap */
awt_data->color_data->awt_icmLUT2Colors
[awt_data->color_data->awt_numICMcolors] = i;
< prev index next >