Opened 20 years ago
Closed 20 years ago
#256 closed defect (fixed)
Patch for osdsurface memory corruption
Reported by: | Owned by: | Isaac Richards | |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | mythtv | Version: | |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
This patch fixes memory corruption due to memsetting off the end of the array. I suspect it was the cause of this backtrace:
(gdb) bt #0 0xffffe410 in __kernel_vsyscall () #1 0xb6916921 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xb691827b in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xb694cf77 in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6 #4 0xb6953597 in malloc_usable_size () from /lib/tls/i686/cmov/libc.so.6 #5 0xb6953a32 in free () from /lib/tls/i686/cmov/libc.so.6 #6 0x412061c1 in operator delete () from /usr/lib/libstdc++.so.6 #7 0x4120621c in operator delete[] () from /usr/lib/libstdc++.so.6 #8 0xb7c4e307 in ~OSDSurface (this=0x9a9f170) at osdsurface.cpp:80 #9 0xb7c28879 in ~OSD (this=0x92b8e98) at osd.cpp:104 #10 0xb7bead58 in ~NuppelVideoPlayer (this=0x90fe518) at NuppelVideoPlayer.cpp:229 #11 0xb7bc0ff8 in TV::TeardownPlayer (this=0x9014220) at tv_play.cpp:1153 #12 0xb7bbfc5b in TV::StopStuff (this=0x9014220, stopRingBuffers=true, stopPlayers=true, stopRecorders=false) at tv_play.cpp:1038 #13 0xb7bbe7ba in TV::HandleStateChange (this=0x9014220) at tv_play.cpp:824 #14 0xb7bc1736 in TV::RunTV (this=0x9014220) at tv_play.cpp:1254 #15 0xb7bc1217 in TV::EventThread (param=0x9014220) at tv_play.cpp:1199 #16 0xb6a4fe40 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #17 0xb69be60e in clone () from /lib/tls/i686/cmov/libc.so.6
I am not 100% sure this is the correct fix, but it does seem to work well.
Regards,
Shane
Attachments (1)
Note:
See TracTickets
for help on using tickets.
osdsurface.cpp patch