l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
December 2: Social Gathering
Next Installfest:
TBA
Latest News:
Nov. 18: Officers elected
Page last updated:
2002 May 08 21:36
Events
 Meetings
 Installfests
 Demos
 Photos
Services
 Library
 LERT
 Jobs
 Documents
Interact
 Mailing Lists
 - Search
 - Archives
 Chat (IRC)
 Social Networks
About Us
 Members
 Projects
 Testimonials
 Call for Speakers
 Why Not MS?
 Finances
 Sponsors

^Home
?Search
?News & RSS
?Calendar
@Contact Us
$Buy Stuff
=Printable


The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
[vox-tech] Must one free() in C?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vox-tech] Must one free() in C?



It's not a Linux specific question, for it matters not the answer under
Linux for Linux frees regardless of one's intervention, but 'tis a valid
question so I believe...

Let's say you got a code like this (in C):

   tmp1 = (int*)malloc(5);
   tmp2 = (int*)malloc(6);
   if(!tmp1 || !tmp2)
   {
      fprintf(stderr, "Out of memory!\n");
      exit(1);
   }

If tmp1 is allocated (but not tmp2) at the time of exit(1), is it
guaranteed to be freed by the exiting process?  Or does one must free tmp1
before exitting?  The answer doesn't really matter on Linux (or most
modern systems, I suppose)  since it frees memory nonetheless, but is that
the standard?  The impliciation of requiring calls to free() before
exitting is enormous -- one would have to keep track of all the allocated
memory before exitting from any error condition!

Thanks in adv!

-Mark

--
Mark K. Kim
http://www.cbreak.org/
PGP key available upon request.

_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



LinkedIn
LUGOD Group on LinkedIn
facebook
LUGOD Group on Facebook

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
1105 Kennedy Place, Suite 1, Davis, CA 95616
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Richard Mancusi
For a generous donation to allow us to continue meeting at the Davis Library.