--- ray/src/common/octree.c 1997/03/07 15:45:30 2.2 +++ ray/src/common/octree.c 1998/08/24 16:38:44 2.4 @@ -34,7 +34,7 @@ octalloc() /* allocate an octree */ if (octbi(freet) >= MAXOBLK) return(EMPTY); if ((octblock[octbi(freet)] = (OCTREE *)bmalloc( - (unsigned)256*8*sizeof(OCTREE))) == NULL) + (unsigned)OCTBLKSIZ*8*sizeof(OCTREE))) == NULL) return(EMPTY); } treetop += 8; @@ -61,6 +61,8 @@ octdone() /* free EVERYTHING */ register int i; for (i = 0; i < MAXOBLK; i++) { + if (octblock[i] == NULL) + break; bfree((char *)octblock[i], (unsigned)256*8*sizeof(OCTREE)); octblock[i] = NULL; }