Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Freeing memory allocated by realloc() throw's error #26

Open
GoogleCodeExporter opened this issue Dec 8, 2015 · 1 comment
Open

Freeing memory allocated by realloc() throw's error #26

GoogleCodeExporter opened this issue Dec 8, 2015 · 1 comment

Comments

@GoogleCodeExporter
Copy link

What steps will reproduce the problem?

Below steps throw's Guard block error which I expect it shouldn't.

void leak_memory() {
    int * temporary = (int*)realloc(NULL, sizeof(int));
    temporary = (int *) realloc (temporary, (10 * sizeof (int)));
    free (temporary);
}

What is the expected output? What do you see instead?

Expected :-
===========
Allocated memory by realloc function should be free'd and test case should 
pass.

Output Seen:-
=======================================================================
leak_memory_test: Starting test
Guard block of 0x00501120 size=0 allocated by :5247040 at 0x00501118 is 
corrupt
ERROR: src/example/allocate_module.c:33 Failure!
leak_memory_test: Test failed.
1 out of 1 tests failed!
    leak_memory_test
=======================================================================

What version of the product are you using? On what operating system?

Product version - 
=============

cmockery-0.1.2

Operating System -
====================

ukhml-bladeAS4-~/mywork/cmockery-0.1.2/src/example: uname -a
Linux ukhml-bladeAS4 2.6.9-89.0.11.ELsmp #1 SMP Mon Aug 31 11:00:34 EDT 
2009 x86_64 x86_64 x86_64 GNU/Linux
ukhml-bladeAS4-~/mywork/cmockery-0.1.2/src/example:

====================

Please provide any additional information below.

In my actual unit test case, program flow calls these below functions in 
sequence which result in guard block error - 
step 
1.) malloc 
2.) realloc and 
3.) free. 
Only work around I could do was just replace all such calls to 
corresponding calls of realloc function for initial request to memory, re-
sizing memory and for freeing memory which overcame this error.
I was not able to re-produce with this sequence in an independent program. 
Instead a sequence of realloc and free helped in reproducing this error 
message which I mentioned above.
Is it something that realloc is not monitored by comockery ?

Thanks & Regards.,
Naveen Sriram.


Original issue reported on code.google.com by naveen.sriram@gmail.com on 22 Mar 2010 at 1:42

@GoogleCodeExporter
Copy link
Author

After adding patch "cmockery-realloc-patch" 
(http://groups.google.com/group/cmockery/files), above issue got fixed. Thanks 
to 
"Eduardo Feo" for providing this patch.

Original comment by naveen.sriram@gmail.com on 24 Mar 2010 at 6:54

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant