| 205 |  | goto err; | 
| 206 |  | br->hdr->infoSiz = bmPos - (hdrSiz + palSiz); | 
| 207 |  | if (br->hdr->nColors > 0 || br->hdr->infoSiz > 0) { | 
| 208 | < | br->hdr = (BMPHeader *)realloc((void *)br->hdr, | 
| 208 | > | br->hdr = (BMPHeader *)realloc(br->hdr, | 
| 209 |  | sizeof(BMPHeader) + | 
| 210 |  | palSiz + br->hdr->infoSiz); | 
| 211 |  | if (br->hdr == NULL) | 
| 228 |  | br->yscan = -1; | 
| 229 |  | if (seek != NULL && ((br->hdr->compr == BI_RLE8) | | 
| 230 |  | (br->hdr->compr == BI_RLE4))) { | 
| 231 | < | BMPReader       *newbr = (BMPReader *)realloc((void *)br, | 
| 231 | > | BMPReader       *newbr = (BMPReader *)realloc(br, | 
| 232 |  | sizeof(BMPReader) + | 
| 233 |  | sizeof(br->scanpos[0]) * | 
| 234 |  | br->hdr->height); | 
| 235 |  | if (newbr == NULL) | 
| 236 |  | goto err; | 
| 237 |  | br = newbr; | 
| 238 | < | memset((void *)(br->scanpos + 1), 0, | 
| 238 | > | memset(br->scanpos+1, 0, | 
| 239 |  | sizeof(br->scanpos[0])*br->hdr->height); | 
| 240 |  | } | 
| 241 |  | br->scanpos[0] = br->fpos; | 
| 243 |  | return br; | 
| 244 |  | err: | 
| 245 |  | if (br->hdr != NULL) | 
| 246 | < | free((void *)br->hdr); | 
| 246 | > | free(br->hdr); | 
| 247 |  | if (br->scanline != NULL) | 
| 248 | < | free((void *)br->scanline); | 
| 249 | < | free((void *)br); | 
| 248 | > | free(br->scanline); | 
| 249 | > | free(br); | 
| 250 |  | return NULL; | 
| 251 |  | } | 
| 252 |  |  | 
| 479 |  | { | 
| 480 |  | if (br == NULL) | 
| 481 |  | return; | 
| 482 | < | free((void *)br->hdr); | 
| 483 | < | free((void *)br->scanline); | 
| 484 | < | free((void *)br); | 
| 482 | > | free(br->hdr); | 
| 483 | > | free(br->scanline); | 
| 484 | > | free(br); | 
| 485 |  | } | 
| 486 |  |  | 
| 487 |  | /* stdio getc() callback */ | 
| 529 |  | hdr->compr = BI_UNCOMPR; | 
| 530 |  | hdr->hRes = hdr->vRes = 2835;           /* default to 72 ppi */ | 
| 531 |  | hdr->nColors = hdr->impColors = 0; | 
| 532 | < | hdr->infoSiz = infolen; | 
| 532 | > | if ((hdr->infoSiz = infolen) > 0) | 
| 533 | > | memset(BMPinfo(hdr), 0, hdr->infoSiz); | 
| 534 |  | return hdr; | 
| 535 |  | } | 
| 536 |  |  | 
| 566 |  | hdr->nColors = ncolors; | 
| 567 |  | hdr->impColors = 0;                     /* says all colors important */ | 
| 568 |  | hdr->infoSiz = infolen; | 
| 569 | < | memset((void *)hdr->palette, 0, sizeof(RGBquad)*((size_t)1<<n) + infolen); | 
| 569 | > | memset(hdr->palette, 0, sizeof(RGBquad)*((size_t)1<<n) + infolen); | 
| 570 |  | for (n = ncolors; n--; ) | 
| 571 |  | hdr->palette[n].r = hdr->palette[n].g = | 
| 572 |  | hdr->palette[n].b = n*255/(ncolors-1); | 
| 656 |  | bw->yscan = 0; | 
| 657 |  | bw->scanline = (uint8 *)calloc(scanSiz, sizeof(uint8)); | 
| 658 |  | if (bw->scanline == NULL) { | 
| 659 | < | free((void *)bw); | 
| 659 | > | free(bw); | 
| 660 |  | return NULL; | 
| 661 |  | } | 
| 662 |  | bw->fbmp = hdrSiz + palSiz + hdr->infoSiz; | 
| 786 |  | { | 
| 787 |  | if (bw == NULL) | 
| 788 |  | return; | 
| 789 | < | free((void *)bw->hdr); | 
| 790 | < | free((void *)bw->scanline); | 
| 791 | < | free((void *)bw); | 
| 789 | > | free(bw->hdr); | 
| 790 | > | free(bw->scanline); | 
| 791 | > | free(bw); | 
| 792 |  | } |