devel/libidn: warning when freeing memory

Kirill Ponomarew krion at FreeBSD.org
Mon Apr 19 00:16:18 PDT 2004


Hi,

On Mon, Apr 19, 2004 at 12:05:20AM -0400, Kaarthik Sivakumar wrote:
> When idn is run, it prints the following message for any string given
> to it:
> 
>   idn in free(): error: junk pointer, too high to make sense
> 
> After setting MALLOC_OPTIONS to A and compiling libidn with '-g', I
> got the following backtrace:
> 
> ,----
> | (gdb) run
> | Starting program: /usr/home/programs/libidn-0.4.2/src/.libs/idn
> | libidn 0.4.2
> | Copyright 2002, 2003, 2004 Simon Josefsson.
> | GNU Libidn comes with NO WARRANTY, to the extent permitted by law.
> | You may redistribute copies of GNU Libidn under the terms of
> | the GNU Lesser General Public License.  For more information
> | about these matters, see the file named COPYING.LIB.
> | Type each input string on a line by itself, terminated by a newline character.
> | test this string
> | idn in free(): error: junk pointer, too high to make sense
> | 
> | Program received signal SIGABRT, Aborted.
> | 0x281f1d4f in kill () from /lib/libc.so.5
> | (gdb) bt
> | #0  0x281f1d4f in kill () from /lib/libc.so.5
> | #1  0x281e67f8 in raise () from /lib/libc.so.5
> | #2  0x2825ef02 in abort () from /lib/libc.so.5
> | #3  0x2825d67e in tcflow () from /lib/libc.so.5
> | #4  0x2825d6ab in tcflow () from /lib/libc.so.5
> | #5  0x2825e1d8 in tcflow () from /lib/libc.so.5
> | #6  0x2825e420 in free () from /lib/libc.so.5
> | #7  0x08049c1f in main (argc=1, argv=0xbfbfe9f0) at idn.c:381
> | #8  0x08048c62 in _start ()
> | (gdb) fr 7
> | #7  0x08049c1f in main (argc=1, argv=0xbfbfe9f0) at idn.c:381
> | 381                   free (r);
> | (gdb) l
> | 376                                argv[0], rc);
> | 377                       free (q);
> | 378                       return 1;
> | 379                     }
> | 380
> | 381                   free (r);
> | 382                 }
> | 383     #endif
> | 384
> | 385               if (args_info.debug_given)
> | (gdb) p r
> | $1 = 0x6f732e <Error reading address 0x6f732e: Bad address>
> | (gdb) 
> `----
> 
> I tried debugging but I couldnt figure out what was wrong. The address
> seems low for stack addresses, but it is obviously high for a heap
> address.

Could you please try to run it without free(3) ?

-Kirill
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20040419/5c00a88c/attachment.bin


More information about the freebsd-ports mailing list