ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/tmapcolrs.c
(Generate patch)

Comparing ray/src/common/tmapcolrs.c (file contents):
Revision 3.1 by greg, Tue Apr 15 16:53:02 1997 UTC vs.
Revision 3.2 by greg, Wed Apr 16 20:28:05 1997 UTC

# Line 262 | Line 262 | char   *fname;
262                  returnErr(TM_E_BADFILE);
263          }
264                                          /* allocate arrays */
265 +        scan = (COLR *)malloc(sizeof(COLR) * *xp);
266          if (flags & TM_F_BW)
267                  rp = (BYTE *)malloc(sizeof(BYTE) * *xp * *yp);
268          else
269                  rp = (BYTE *)malloc(3*sizeof(BYTE) * *xp * *yp);
269        scan = (COLR *)malloc(sizeof(COLR) * *xp);
270          if ((*psp = rp) == NULL | scan == NULL) {
271                  pclose(infp);
272                  returnErr(TM_E_NOMEM);
# Line 275 | Line 275 | char   *fname;
275          for (y = 0; y < *yp; y++) {
276                  if (freadcolrs(scan, *xp, infp) < 0) {
277                          pclose(infp);
278 +                        free((char *)scan);
279 +                        free((char *)*psp);
280 +                        *psp = NULL;
281                          returnErr(TM_E_BADFILE);
282                  }
283                  colrs_gambs(scan, *xp);
# Line 335 | Line 338 | FILE   *fp;
338                                                  /* allocate space for result */
339          if (flags & TM_F_BW) {
340                  *psp = (BYTE *)malloc(sizeof(BYTE) * *xp * *yp);
341 <                if (*psp == NULL)
341 >                if (*psp == NULL) {
342 >                        free((char *)lp);
343 >                        tmDone(NULL);
344                          returnErr(TM_E_NOMEM);
345 +                }
346                  cp = TM_NOCHROM;
347          } else
348                  *psp = cp;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines