< 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 >