Subject: more memory management woes / testing strategy (This message is being sent to CPSC 215 Students and TA's) Whilst failure to free() is bad, freeing memory that was NOT ALLOCATED with malloc() is EVEN WORSE. This WILL cause an instant segfault in one of my test environments. An example of this error is: double unitvec[3]; : : free(unitvec); return; Trying to be EXTRA SURE that you free stuff by freeing the SAME MEMORY MORE THAN ONE TIME is equally fatal. I found two instances of this first error in a program of a student who had reported to me that his program was now working "perfectly". Thus I strongly recommend a detailed inventory of every free() in every module to insure that you haven't accidentally put in one of these high-penalty errors!!! ------------------------------------------------------------ Also be sure to test your programs with some spheres and some planes other than "back walls" Ceilings, floors, and intersecting diagonal walls would be good choices.