After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 647830 - assrender: crashes with very large subtitles
assrender: crashes with very large subtitles
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal blocker
: 0.10.22
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-04-15 03:48 UTC by David Schleef
Modified: 2011-04-16 11:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (923 bytes, patch)
2011-04-15 03:48 UTC, David Schleef
none Details | Review
patch (6.99 KB, patch)
2011-04-15 04:24 UTC, David Schleef
committed Details | Review

Description David Schleef 2011-04-15 03:48:06 UTC
Created attachment 185993 [details] [review]
patch

assrender crashes writing outside the video image area if the subtitle image is large enough, and the y position is odd.  Example crash video at http://www.schleef.org/~ds/ghost-crab-bad-subtitles.mkv

The blit code seems to make the assumption that the y position is even.  That is, if the x or y position is odd, it technically rendered wrong.  As a workaround, I rounded down to even.  After the release, I can orcify the blitting and fix it at the same time.
Comment 1 David Schleef 2011-04-15 04:24:08 UTC
Created attachment 185994 [details] [review]
patch
Comment 2 Tim-Philipp Müller 2011-04-16 11:13:06 UTC
Pushed this, definitely fixes invalid access reported by valgrind.

Causes these warnings now with gcc 4.6 though:

  CC     libgstassrender_la-gstassrender.lo
gstassrender.c: In function 'blit_i420':
gstassrender.c:576:8: warning: variable 'src_stride' set but not used [-Wunused-but-set-variable]
gstassrender.c:573:8: warning: variable 'w2' set but not used [-Wunused-but-set-variable]