Bug#716525: [Mayhem] Bug report on oggvideotools: oggThumb crashes with exit status 139
Petter Reinholdtsen
pere at hungry.com
Wed Oct 22 07:40:05 UTC 2014
I'm able to reproduce this issue. Note that the stdin input is not
required for the crash. This is the output from valgrind when the
program crash:
==18469== Memcheck, a memory error detector
==18469== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==18469== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==18469== Command: /usr/bin/oggThumb --E�===A
==18469==
==18469== Conditional jump or move depends on uninitialised value(s)
==18469== at 0x4C299DE: __GI_strncmp (mc_replace_strmem.c:535)
==18469== by 0x662A915: _getopt_internal_r (getopt.c:542)
==18469== by 0x662B74A: _getopt_internal (getopt.c:1131)
==18469== by 0x662B832: getopt_long (getopt1.c:66)
==18469== by 0x427FD9: oggThumbCmd(int, char**) (in /usr/bin/oggThumb)
==18469== by 0x429160: main (in /usr/bin/oggThumb)
==18469==
==18469== Invalid read of size 1
==18469== at 0x4C299D9: __GI_strncmp (mc_replace_strmem.c:535)
==18469== by 0x662A915: _getopt_internal_r (getopt.c:542)
==18469== by 0x662B74A: _getopt_internal (getopt.c:1131)
==18469== by 0x662B832: getopt_long (getopt1.c:66)
==18469== by 0x427FD9: oggThumbCmd(int, char**) (in /usr/bin/oggThumb)
==18469== by 0x429160: main (in /usr/bin/oggThumb)
==18469== Address 0x83f1330 is 0 bytes after a block of size 512 alloc'd
==18469== at 0x4C286E7: operator new(unsigned long) (vg_replace_malloc.c:287)
==18469== by 0x42F22B: __gnu_cxx::new_allocator<double>::allocate(unsigned long, void const*) (in /usr/bin/oggThumb)
==18469== by 0x42D298: std::_Deque_base<double, std::allocator<double> >::_M_allocate_node() (in /usr/bin/oggThumb)
==18469== by 0x42F5FE: std::_Deque_base<double, std::allocator<double> >::_M_create_nodes(double**, double**) (in /usr/bin/oggThumb)
==18469== by 0x42DB29: std::_Deque_base<double, std::allocator<double> >::_M_initialize_map(unsigned long) (in /usr/bin/oggThumb)
==18469== by 0x42B199: std::_Deque_base<double, std::allocator<double> >::_Deque_base() (in /usr/bin/oggThumb)
==18469== by 0x429A49: std::deque<double, std::allocator<double> >::deque() (in /usr/bin/oggThumb)
==18469== by 0x427842: oggThumbCmd(int, char**) (in /usr/bin/oggThumb)
==18469== by 0x429160: main (in /usr/bin/oggThumb)
==18469==
==18469== Conditional jump or move depends on uninitialised value(s)
==18469== at 0x662A902: _getopt_internal_r (getopt.c:541)
==18469== by 0x662B74A: _getopt_internal (getopt.c:1131)
==18469== by 0x662B832: getopt_long (getopt1.c:66)
==18469== by 0x427FD9: oggThumbCmd(int, char**) (in /usr/bin/oggThumb)
==18469== by 0x429160: main (in /usr/bin/oggThumb)
==18469==
==18469== Use of uninitialised value of size 8
==18469== at 0x4C299D9: __GI_strncmp (mc_replace_strmem.c:535)
==18469== by 0x662A915: _getopt_internal_r (getopt.c:542)
==18469== by 0x662B74A: _getopt_internal (getopt.c:1131)
==18469== by 0x662B832: getopt_long (getopt1.c:66)
==18469== by 0x427FD9: oggThumbCmd(int, char**) (in /usr/bin/oggThumb)
==18469== by 0x429160: main (in /usr/bin/oggThumb)
==18469==
==18469==
==18469== Process terminating with default action of signal 11 (SIGSEGV)
==18469== Access not within mapped region at address 0x700000467
==18469== at 0x4C299D9: __GI_strncmp (mc_replace_strmem.c:535)
==18469== by 0x662A915: _getopt_internal_r (getopt.c:542)
==18469== by 0x662B74A: _getopt_internal (getopt.c:1131)
==18469== by 0x662B832: getopt_long (getopt1.c:66)
==18469== by 0x427FD9: oggThumbCmd(int, char**) (in /usr/bin/oggThumb)
==18469== by 0x429160: main (in /usr/bin/oggThumb)
==18469== If you believe this happened as a result of a stack
==18469== overflow in your program's main thread (unlikely but
==18469== possible), you can try to increase the size of the
==18469== main thread stack using the --main-stacksize= flag.
==18469== The main thread stack size used in this run was 8388608.
==18469==
==18469== HEAP SUMMARY:
==18469== in use at exit: 1,261 bytes in 7 blocks
==18469== total heap usage: 7 allocs, 0 frees, 1,261 bytes allocated
==18469==
==18469== LEAK SUMMARY:
==18469== definitely lost: 0 bytes in 0 blocks
==18469== indirectly lost: 0 bytes in 0 blocks
==18469== possibly lost: 109 bytes in 3 blocks
==18469== still reachable: 1,152 bytes in 4 blocks
==18469== suppressed: 0 bytes in 0 blocks
==18469== Rerun with --leak-check=full to see details of leaked memory
==18469==
==18469== For counts of detected and suppressed errors, rerun with: -v
==18469== Use --track-origins=yes to see where uninitialised values come from
==18469== ERROR SUMMARY: 8 errors from 4 contexts (suppressed: 4 from 4)
./crash.sh: line 16: 18469 Segmentation fault env -i MALLOC_CHECK_=0 $GDB valgrind /usr/bin/oggThumb "`cat $DIR/argv_1.symb`"
Not quite sure how to fix it.
--
Happy hacking
Petter Reinholdtsen
More information about the pkg-xiph-maint
mailing list