Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   free(): invalid pointer 0x842e3344,problem with free (http://www.go4expert.com/forums/free-invalid-pointer-0x842e3344problem-t2827/)

raklo 2Feb2007 14:46

free(): invalid pointer 0x842e3344,problem with free
 
i've written a code that simply forks a process,executes a command thru
execve() and exits,wherein i've used
char *fildes;
allocated a char sting to fildes by
char *itoa(int x)
filedes=itoa(3);

and then execve(args[0],args,env);
wherein on of the contents of args[0] is fildes.

now when i do
free(fildes);

I get error
*** glibc detected *** free(): invalid pointer: 0x080a6bfe ***
Aborted.

can u tell wotz prob with the code.
ANY INPUT IS APPRECIATED

shabbir 2Feb2007 15:47

Re: free(): invalid pointer 0x842e3344,problem with free
 
Looks like fildes is not a valid pointer.

raklo 2Feb2007 16:08

Re: free(): invalid pointer 0x842e3344,problem with free
 
wotz the solution for it???
the thing is that i've used this program inthe initrd image ,though this error occurs
everytime but my system does boot.but the main problem is once in every 3-4 boots the system panics, and i believe this is the cause of it.

so wot can be the solution???

shabbir 2Feb2007 17:44

Re: free(): invalid pointer 0x842e3344,problem with free
 
Try freeing it only when its valid and assign a null by default so you know if its not null you free it.

DaWei 4Feb2007 00:36

Re: free(): invalid pointer 0x842e3344,problem with free
 
Assigning a value to a pointer is NOT allocating it. You can only free a pointer that your have gotten from malloc or its variants.


All times are GMT +5.5. The time now is 04:20.