What Irtaylor said is true: Consider code such as this....
... ... while(some_condition) { if(some_other_condition) { ... some_var = malloc(some_amount); ... } ... free(some_var); } ... ...
Here, may be for the first time "some_other_condition" may be true, but subsequently, it may be false due to which the free (or any code that refers to some_var) fails.
lrtaylor@xxxxxxxxxx wrote:
It's probably a bug in your routine. However, without seeing your code, it's hard to give any good answers. Step through it with a debugger and make sure that you're not trying to free the same memory more than once, or access memory that hasn't been allocated yet.
Good luck,
Lyle
-----Original Message----- From: gcc-help-owner@xxxxxxxxxxx [mailto:gcc-help-owner@xxxxxxxxxxx] On Behalf Of Ankit Jain Sent: Friday, December 24, 2004 11:41 AM To: gcc Subject: malloc and free
hi
routine xyz uses malloc and free functions. it gives
accurate and correct result if called once.
but if the function is called in a loop N number of times then probably it gives segmentation fault.
what is the reason? can any body guess or test code is needed?
thanks
ankit jain
________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html
--
*****************************
* Sriharsha Vedurmudi
* Software Engineer
* * Redpine Signals Inc.
* Gate #395, Plot 87,88
* Sagar Society, Road #2, * Banjara Hills,
* Hyderabad - 500 034
* www.redpinesignals.com
*
* +91-40-23559911 (Office)
* +91-98851-37338 (Mobile)
*****************************