** Description changed:
Binary package hint: libc6
Using iconv_open from libc6 (libc6 2.6.1-1ubuntu10) I get a report from
valgrind stating that some "Invalid read of size 4" happened (in a
- single call to iconv_open). I'am using (k)ubuntu 7.10.
+ single call to iconv_open). I'am using (k)ubuntu 7.10. Also happens in
+ Hardy, libc6 version 2.7-9ubuntu2.
A simple test can be done:
-------------------
#include <stdio.h>
#include <iconv.h>
int main (int argc, char **argv)
{
iconv_t check;
check = iconv_open("us-ascii","UTF-32LE");
if(check != ((iconv_t)-1))
{
iconv_close(check);
}
return 0;
}
-------------------
And this is the output from valgrind:
==22863== Memcheck, a memory error detector.
==22863== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==22863== Using LibVEX rev 1732, a library for dynamic binary translation.
==22863== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==22863== Using valgrind-3.2.3-Debian, a dynamic binary instrumentation
framework.
==22863== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==22863== For more details, rerun with: -v
==22863==
==22863== Invalid read of size 4
==22863== at 0x4014AC8: (within /lib/ld-2.6.1.so)
==22863== by 0x400D015: (within /lib/ld-2.6.1.so)
==22863== by 0x401099D: (within /lib/ld-2.6.1.so)
==22863== by 0x4140061: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x400D015: (within /lib/ld-2.6.1.so)
==22863== by 0x4140224: __libc_dlopen_mode (in
/lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056623: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4055B60: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056266: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404E710: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404D256: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404CEB0: iconv_open (in /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== Address 0x4181100 is 48 bytes inside a block of size 49 alloc'd
==22863== at 0x4022765: malloc (vg_replace_malloc.c:149)
==22863== by 0x4056717: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4055B60: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056266: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404E710: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404D256: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404CEB0: iconv_open (in /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x80483E8: main (in /home/aleks/temp/test_iconv)
==22863==
==22863== Invalid read of size 4
==22863== at 0x4014AC8: (within /lib/ld-2.6.1.so)
==22863== by 0x4007949: (within /lib/ld-2.6.1.so)
==22863== by 0x4010F83: (within /lib/ld-2.6.1.so)
==22863== by 0x400D015: (within /lib/ld-2.6.1.so)
==22863== by 0x401099D: (within /lib/ld-2.6.1.so)
==22863== by 0x4140061: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x400D015: (within /lib/ld-2.6.1.so)
==22863== by 0x4140224: __libc_dlopen_mode (in
/lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056623: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4055B60: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056266: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404E710: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== Address 0x4181100 is 48 bytes inside a block of size 49 alloc'd
==22863== at 0x4022765: malloc (vg_replace_malloc.c:149)
==22863== by 0x4056717: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4055B60: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056266: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404E710: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404D256: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404CEB0: iconv_open (in /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x80483E8: main (in /home/aleks/temp/test_iconv)
==22863==
==22863== Invalid read of size 4
==22863== at 0x4014C20: (within /lib/ld-2.6.1.so)
==22863== by 0x4007949: (within /lib/ld-2.6.1.so)
==22863== by 0x4010F83: (within /lib/ld-2.6.1.so)
==22863== by 0x400D015: (within /lib/ld-2.6.1.so)
==22863== by 0x401099D: (within /lib/ld-2.6.1.so)
==22863== by 0x4140061: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x400D015: (within /lib/ld-2.6.1.so)
==22863== by 0x4140224: __libc_dlopen_mode (in
/lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056623: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4055B60: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056266: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404E710: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== Address 0x4181100 is 48 bytes inside a block of size 49 alloc'd
==22863== at 0x4022765: malloc (vg_replace_malloc.c:149)
==22863== by 0x4056717: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4055B60: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056266: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404E710: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404D256: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404CEB0: iconv_open (in /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x80483E8: main (in /home/aleks/temp/test_iconv)
==22863==
==22863== Invalid read of size 4
==22863== at 0x4014C20: (within /lib/ld-2.6.1.so)
==22863== by 0x4005BE9: (within /lib/ld-2.6.1.so)
==22863== by 0x4007A07: (within /lib/ld-2.6.1.so)
==22863== by 0x4010F83: (within /lib/ld-2.6.1.so)
==22863== by 0x400D015: (within /lib/ld-2.6.1.so)
==22863== by 0x401099D: (within /lib/ld-2.6.1.so)
==22863== by 0x4140061: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x400D015: (within /lib/ld-2.6.1.so)
==22863== by 0x4140224: __libc_dlopen_mode (in
/lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056623: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4055B60: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056266: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== Address 0x4181100 is 48 bytes inside a block of size 49 alloc'd
==22863== at 0x4022765: malloc (vg_replace_malloc.c:149)
==22863== by 0x4056717: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4055B60: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x4056266: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404E710: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404D256: (within /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x404CEB0: iconv_open (in /lib/tls/i686/cmov/libc-2.6.1.so)
==22863== by 0x80483E8: main (in /home/aleks/temp/test_iconv)
==22863==
==22863== ERROR SUMMARY: 5 errors from 4 contexts (suppressed: 13 from 1)
==22863== malloc/free: in use at exit: 0 bytes in 0 blocks.
==22863== malloc/free: 11 allocs, 11 frees, 33,700 bytes allocated.
==22863== For counts of detected errors, rerun with: -v
==22863== All heap blocks were freed -- no leaks are possible.
--
iconv_open in libc6 2.6.1-1ubuntu10 performs invalid reads (reported by
valgrind)
https://bugs.launchpad.net/bugs/214691
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs