No way.

the bug is in your own code, which you didn't show.

> Hi everyone,
> 
> Sorry to trouble the list if this issue turns out to be spurious. I am
> a relatively novice C programmer so it may just be my error. However,
> I have implemented a program two ways: one using reallocarray() and
> the other using calloc().
> 
> When I use reallocarray() I get the error "in realloc(): error: use
> after free 0x..." So I recompiled with -g and ran gdb:
> 
> Program terminated with signal 6, Aborted.
> Loaded symbols for /home/pmaddams/<REDACTED>
> Reading symbols from /usr/lib/libutil.so.12.1...done.
> Loaded symbols for /usr/lib/libutil.so.12.1
> Reading symbols from /usr/lib/libc.so.84.2...done.
> Loaded symbols for /usr/lib/libc.so.84.2
> Reading symbols from /usr/libexec/ld.so...done.
> Loaded symbols for /usr/libexec/ld.so
> #0  0x00000c01badbc87a in thrkill () at <stdin>:2
> 2       <stdin>: No such file or directory.
>         in <stdin>
> 
> The situation is, I have a sorted array of at most 26 elements
> representing the child nodes of a trie. Instead of using a linked list
> I have opted to reallocate the array as a new pointer, shift the top
> elements away from the insertion index, copy the new element into the
> proper location, and assign the new pointer to the old variable.
> 
> Using small files this seems to work just fine. However, my goal is to
> read in the entire file from /usr/share/dict/words, 2.4M of text. It
> chokes and dies with the above error. But when I reimplement the
> allocation routine with calloc() it seems to work fine.
> 
> What information can I provide to help confirm whether this is a bug
> in the system, or in my own code?
> 
> Thanks.
> 

Reply via email to