Sponsored Content
Top Forums Programming Segfaults on pointer deletion Post 302503281 by gaurav1086 on Thursday 10th of March 2011 06:09:36 AM
Old 03-10-2011
Bug

Quote:
Originally Posted by ctote
Hey Everyone,

I have a check similar to this:
Code:
if (ptr)
{
   delete ptr;
   ptr = null;
}

When I'm debugging in AIX (using dbx), if I attempt to print the value of 'ptr' it says "ptr is not defined" - however, it still enters that if block. So, I'm getting segfaults on the delete statement. Can anyone suggest why the if() block is entered?
Hi ctote,

if a ptr is NOT NULL, then it is true, (for ex. containing a junk values, aka bad pointer). if you did not define your ptr to NULL when you declare/free them, you should be careful about re-using them. Try to print the 'ptr' before entering the 'if block' and after you exiting the 'if block' and see if there is any difference.

Cheers,
Gaurav.
 

10 More Discussions You Might Find Interesting

1. Post Here to Contact Site Administrators and Moderators

Account Deletion...

Please delete my account? Thanks, so very much, really. (2 Replies)
Discussion started by: spaceshiporion
2 Replies

2. Shell Programming and Scripting

Regarding deletion of old files

Hi, I have a list of directories which contain old files that are to be deleted. I put the list of all directories in a txt file and it is being read by a script Iam searching for the files older than 60 days using mtime and then deleting it But all the files are getting deleted... (3 Replies)
Discussion started by: Chidvilas
3 Replies

3. Programming

memcpy segfaults, but not in windows

Hi Having a lil trouble with a rather simple application I'm writing. It so happens that I have to copy some data using memcpy() and so far I've been doing just fine compiling it with VC.Net and running it on Windows XP. Now I'm trying to port the thing to Solaris (which shouldn't really be too... (3 Replies)
Discussion started by: khoma
3 Replies

4. UNIX for Advanced & Expert Users

Deletion of Logs

Can someone suggest on this script : let's say the logs files are available for Jan 07, Dec 06, Nov 06, Oct 06 the script should identify the latest months logs, i.e Jan 07 it should then delete anything older than 2 months, which will be logs for Nov 06 & Oct 06. (40 Replies)
Discussion started by: srirams
40 Replies

5. Shell Programming and Scripting

Help: deletion of record

I have created a address book file. Insertion of Record (using >> symbol)and searching of record (using grep command) into the address book is also working correctly. Now I want to delete a record into a file. Any body can help me in this case without using sed and awk18 18. Thanks and best... (24 Replies)
Discussion started by: murtaza
24 Replies

6. Forum Support Area for Unregistered Users & Account Problems

deletion ofsunburntYux

Could you please close SunburntYux as I would like to use the emaill address on this account to register FloridaBSD, (0 Replies)
Discussion started by: SunBurntYux
0 Replies

7. Programming

pass a pointer-to-pointer, or return a pointer?

If one wants to get a start address of a array or a string or a block of memory via a function, there are at least two methods to achieve it: (1) one is to pass a pointer-to-pointer parameter, like: int my_malloc(int size, char **pmem) { *pmem=(char *)malloc(size); if(*pmem==NULL)... (11 Replies)
Discussion started by: aaronwong
11 Replies

8. Shell Programming and Scripting

Deletion of a particular character

How to delete a particular character in a file and then removing the spaces created by that removal.I am working with a text file containing nucleotide sequences. I have tried sed command but it replaces N with spaces. example:I want to delete all the N without creating a space after its ... (1 Reply)
Discussion started by: ankitachaurasia
1 Replies

9. Shell Programming and Scripting

Deletion of records

Hi, I have file with footer (5records) at end of the file. I want to delete the footer as well as the empty records between the main records and footer record.(The gap between main records and Footer records is dynamic) Example: MainRecord1 "115494",","FAELD","CT","... (12 Replies)
Discussion started by: vsairam
12 Replies

10. Shell Programming and Scripting

advanced deletion

How can i delete the contents of the directory except one file? (8 Replies)
Discussion started by: proactiveaditya
8 Replies
Tcl_Alloc(3)						      Tcl Library Procedures						      Tcl_Alloc(3)

__________________________________________________________________________________________________________________________________________________

NAME
Tcl_Alloc, Tcl_Free, Tcl_Realloc, Tcl_AttemptAlloc, Tcl_AttemptRealloc, ckalloc, ckfree, ckrealloc, attemptckalloc, attemptckrealloc - allocate or free heap memory SYNOPSIS
#include <tcl.h> char * Tcl_Alloc(size) void Tcl_Free(ptr) char * Tcl_Realloc(ptr, size) char * Tcl_AttemptAlloc(size) char * Tcl_AttemptRealloc(ptr, size) char * ckalloc(size) void ckfree(ptr) char * ckrealloc(ptr, size) char * attemptckalloc(size) char * attemptckrealloc(ptr, size) ARGUMENTS
unsigned int size (in) Size in bytes of the memory block to allocate. char *ptr (in) Pointer to memory block to free or realloc. _________________________________________________________________ DESCRIPTION
These procedures provide a platform and compiler independent interface for memory allocation. Programs that need to transfer ownership of memory blocks between Tcl and other modules should use these routines rather than the native malloc() and free() routines provided by the C run-time library. Tcl_Alloc returns a pointer to a block of at least size bytes suitably aligned for any use. Tcl_Free makes the space referred to by ptr available for further allocation. Tcl_Realloc changes the size of the block pointed to by ptr to size bytes and returns a pointer to the new block. The contents will be unchanged up to the lesser of the new and old sizes. The returned location may be different from ptr. If ptr is NULL, this is equivalent to calling Tcl_Alloc with just the size argument. Tcl_AttemptAlloc and Tcl_AttemptRealloc are identical in function to Tcl_Alloc and Tcl_Realloc, except that Tcl_AttemptAlloc and Tcl_AttemptRealloc will not cause the Tcl interpreter to panic if the memory allocation fails. If the allocation fails, these functions will return NULL. Note that on some platforms, but not all, attempting to allocate a zero-sized block of memory will also cause these functions to return NULL. The procedures ckalloc, ckfree, ckrealloc, attemptckalloc, and attemptckrealloc are implemented as macros. Normally, they are synonyms for the corresponding procedures documented on this page. When Tcl and all modules calling Tcl are compiled with TCL_MEM_DEBUG defined, how- ever, these macros are redefined to be special debugging versions of these procedures. To support Tcl's memory debugging within a module, use the macros rather than direct calls to Tcl_Alloc, etc. KEYWORDS
alloc, allocation, free, malloc, memory, realloc, TCL_MEM_DEBUG Tcl 7.5 Tcl_Alloc(3)
All times are GMT -4. The time now is 05:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy