]> granicus.if.org Git - libass/commitdiff
Fix possible unallocated memory read in libass line wrapping code.
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>
Mon, 4 Sep 2006 17:52:28 +0000 (17:52 +0000)
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>
Mon, 4 Sep 2006 17:52:28 +0000 (17:52 +0000)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19669 b3059339-0415-0410-9bf9-f77b7e298cf2

libass/ass_render.c

index 62a484920a92f389abb6b2337d220749b4e645ed..0d774dd987c928e53f1e261c75b7c749c52b5b14 100644 (file)
@@ -1349,9 +1349,9 @@ static void wrap_lines_smart(int max_text_width)
 
                                        w = s2;
                                        do { --w; } while ((w > s1) && (w->symbol == ' '));
-                                       do { --w; } while ((w > s1) && (w->symbol != ' '));
+                                       while ((w > s1) && (w->symbol != ' ')) { --w; }
                                        e1 = w;
-                                       do { --e1; } while ((e1 > s1) && (e1->symbol == ' '));
+                                       while ((e1 > s1) && (e1->symbol == ' ')) { --e1; }
                                        if (w->symbol == ' ') ++w;
 
                                        l1 = ((s2-1)->bbox.xMax + (s2-1)->pos.x) - (s1->bbox.xMin + s1->pos.x);