diff -u avidemux-2.5.1+repack/debian/changelog avidemux-2.5.1+repack/debian/changelog --- avidemux-2.5.1+repack/debian/changelog +++ avidemux-2.5.1+repack/debian/changelog @@ -1,3 +1,10 @@ +avidemux (1:2.5.1+repack-0ubuntu2.2) karmic-proposed; urgency=low + + * debian/patches/03-fix_crash_with_greek_locale.diff: + - Prevent crash while using Greek language (LP: #344528). + + -- Alessio Treglia Mon, 21 Dec 2009 18:09:10 +0100 + avidemux (1:2.5.1+repack-0ubuntu2.1) karmic-proposed; urgency=low * Add 02-alsa_output.diff to set the correect ALSA device (LP: #321028). diff -u avidemux-2.5.1+repack/debian/patches/series avidemux-2.5.1+repack/debian/patches/series --- avidemux-2.5.1+repack/debian/patches/series +++ avidemux-2.5.1+repack/debian/patches/series @@ -2,0 +3 @@ +03-fix_crash_with_greek_locale.diff only in patch2: unchanged: --- avidemux-2.5.1+repack.orig/debian/patches/03-fix_crash_with_greek_locale.diff +++ avidemux-2.5.1+repack/debian/patches/03-fix_crash_with_greek_locale.diff @@ -0,0 +1,47 @@ +Origin: https://svn.berlios.de/viewvc/avidemux?view=rev&revision=5657 +Description: Fix buffer overflow with large language (greek). +Bug: http://avidemux.org/admForum/viewtopic.php?id=7076 +Bug-Ubuntu: https://bugs.launchpad.net/bugs/344528 +--- + avidemux/ADM_osSupport/ADM_misc.cpp | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +--- avidemux-2.5.2~rc.orig/avidemux/ADM_osSupport/ADM_misc.cpp ++++ avidemux-2.5.2~rc/avidemux/ADM_osSupport/ADM_misc.cpp +@@ -6,13 +6,16 @@ + char* ms2timedisplay(uint32_t ms) + { + uint32_t mm, ss; +- static char string[20]; ++#define ADM_MAX_STRING 256 ++#define LU "u" ++ static char string[ADM_MAX_STRING+1]; ++ + + mm = (uint32_t)floor(ms / 60000.); + + if (mm > 1) + { +- sprintf(string, QT_TR_NOOP("%lu minutes"), mm); ++ snprintf(string, ADM_MAX_STRING,QT_TR_NOOP("%"LU" minutes"), mm); + } + else if (mm == 1) + { +@@ -24,14 +27,14 @@ char* ms2timedisplay(uint32_t ms) + + if (ss == 1) + { +- sprintf(string, QT_TR_NOOP("%lu second"), ss); ++ snprintf(string,ADM_MAX_STRING, QT_TR_NOOP("%"LU" second"), ss); + } + else + { +- sprintf(string, QT_TR_NOOP("%lu seconds"), ss); ++ snprintf(string,ADM_MAX_STRING, QT_TR_NOOP("%"LU" seconds"), ss); + } + } +- ++ string[ADM_MAX_STRING]=0; + return string; + } +