From: <bug...@xi...> - 2009-02-22 10:30:03
|
http://bugs.xine-project.org/show_bug.cgi?id=219 Summary: demux_dts segfault on vcd play Product: xine-lib Version: 1.1.16.2 Platform: Other OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P3 Component: Plugins / Demuxer AssignedTo: xin...@xi... ReportedBy: on...@pa... While trying to play a vcd, demux_dts segfaults at src/demuxers/demux_dts.c line 169 for (i=offset; i<peak_size-1; i++) { /* 16 bits and big endian bitstream */ if (syncword == 0x7ffe8001) { dts_version = 0; break; } /* 14 bits and little endian bitstream */ else if ((syncword == 0xff1f00e8) &&· ((peak[i] & 0xf0) == 0xf0) && (peak[i+1] == 0x07)) { dts_version = 3; break; } syncword = (syncword << 8) | peak[i]; } at the line "syncword = (syncword << 8) | peak[i];" 1.1.15 works fine, 1.1.16.1 and 1.1.16.2 segfaults. I am using kaffeine as xine-lib frontend. Attached patch prevents the segfault, though I am not sure if it breaks something else, I am not familiar with xine-lib code. I can provide more info (like gdb output) if needed -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-02-22 10:31:01
|
http://bugs.xine-project.org/show_bug.cgi?id=219 --- Comment #1 from Onur Küçük <on...@pa...> 2009-02-22 10:30:55 UTC --- Created an attachment (id=126) --> (http://bugs.xine-project.org/attachment.cgi?id=126) patch to prevent the segfault -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-02-22 12:40:36
|
http://bugs.xine-project.org/show_bug.cgi?id=219 --- Comment #2 from Darren Salt <li...@yo...> 2009-02-22 12:40:28 UTC --- The result of a bisection search would be *most* useful, but a backtrace might be helpful... -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-02-22 13:57:03
|
http://bugs.xine-project.org/show_bug.cgi?id=219 --- Comment #3 from Onur Küçük <on...@pa...> 2009-02-22 13:56:56 UTC --- I had forgotten to take the VCD with me, I will bisect in a few days and report back, thanks -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-02-24 09:39:26
|
http://bugs.xine-project.org/show_bug.cgi?id=219 --- Comment #4 from Onur Küçük <on...@pa...> 2009-02-24 09:39:19 UTC --- Result of the bisect of http://hg.debian.org/hg/xine-lib/xine-lib $ hg bisect -b The first bad revision is: changeset: 9653:0f6cd8e52b35 user: Matthias Hopf <mh...@su...> date: Wed Dec 31 23:01:54 2008 +0100 summary: check number of bytes read by input->read in demuxing mpeg block/pes -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-02-24 09:46:26
|
http://bugs.xine-project.org/show_bug.cgi?id=219 --- Comment #5 from Onur Küçük <on...@pa...> 2009-02-24 09:46:20 UTC --- Created an attachment (id=127) --> (http://bugs.xine-project.org/attachment.cgi?id=127) gdb output on segfault -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-02-24 10:20:42
|
http://bugs.xine-project.org/show_bug.cgi?id=219 --- Comment #6 from Onur Küçük <on...@pa...> 2009-02-24 10:20:38 UTC --- reverting @@ -1417,7 +1417,7 @@ static demux_plugin_t *open_plugin (demu } input->seek(input, 0, SEEK_SET); - if (input->read(input, this->scratch, this->blocksize)) { + if (input->read(input, this->scratch, this->blocksize) == this->blocksize) { lprintf("open_plugin:read worked\n"); if (this->scratch[0] || this->scratch[1] of src/demuxers/demux_mpeg_block.c prevents the segfault for me. -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-02-24 15:12:11
|
http://bugs.xine-project.org/show_bug.cgi?id=219 Darren Salt <li...@yo...> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #127|application/octet-stream |text/plain mime type| | --- Comment #7 from Darren Salt <li...@yo...> 2009-02-24 15:12:07 UTC --- (From update of attachment 127) Could you try '> 4' instead of '== this->blocksize'? -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-02-24 15:45:11
|
http://bugs.xine-project.org/show_bug.cgi?id=219 --- Comment #8 from Onur Küçük <on...@pa...> 2009-02-24 15:45:05 UTC --- Created an attachment (id=128) --> (http://bugs.xine-project.org/attachment.cgi?id=128) gdb output with > 4 segfaults again at the same place -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-02-24 15:45:32
|
http://bugs.xine-project.org/show_bug.cgi?id=219 Onur Küçük <on...@pa...> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #128|application/octet-stream |text/plain mime type| | -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-03-08 15:45:22
|
http://bugs.xine-project.org/show_bug.cgi?id=219 --- Comment #9 from Darren Salt <li...@yo...> 2009-03-08 15:45:15 UTC --- Created an attachment (id=131) --> (http://bugs.xine-project.org/attachment.cgi?id=131) Makes checking the return code of input->read() pointless. Could you give this patch a try? -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-03-09 06:48:43
|
http://bugs.xine-project.org/show_bug.cgi?id=219 --- Comment #10 from Onur Küçük <on...@pa...> 2009-03-09 06:48:28 UTC --- (In reply to comment #9) > Created an attachment (id=131) --> (http://bugs.xine-project.org/attachment.cgi?id=131) [details] > Makes checking the return code of input->read() pointless. > > Could you give this patch a try? Patch works fine here, thanks -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |
From: <bug...@xi...> - 2009-03-09 21:07:19
|
http://bugs.xine-project.org/show_bug.cgi?id=219 Darren Salt <li...@yo...> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED --- Comment #11 from Darren Salt <li...@yo...> 2009-03-09 21:07:02 UTC --- Fixed in hg. -- Configure bugmail: http://bugs.xine-project.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are watching all bug changes. |