Package: playmp3list Version: 0.95-4.1+b1 Followup-For: Bug #407699
The attached fixes what I believe is the root cause behind this crash (a buffer overflow on the stack). Applying this patch fixes the issue without the need to disable optimization in the build. -- System Information: Debian Release: 5.0 APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.28 Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages playmp3list depends on: ii libc6 2.7-18 GNU C Library: Shared libraries ii libgcc1 1:4.3.2-1.1 GCC support library ii libncurses5 5.7+20081220-1 shared libraries for terminal hand ii libstdc++6 4.3.2-1.1 The GNU Standard C++ Library v3 ii mpg321 [mpg123] 0.2.10.6 mpg123 clone that doesn't use floa playmp3list recommends no packages. playmp3list suggests no packages. -- no debconf information
>From 9f2d9ec9812377591fda61235940b30c4e12ac6e Mon Sep 17 00:00:00 2001 From: Rabin Vincent <ra...@rab.in> Date: Sat, 10 Jan 2009 16:07:42 +0530 Subject: [PATCH] Fix crash on directory change --- interface.cc | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/interface.cc b/interface.cc index 9ac38e9..5f5daf8 100644 --- a/interface.cc +++ b/interface.cc @@ -238,7 +238,7 @@ playmp3listWindow::set_elapsedtime(int pelapsedtime, int premainingtime) void playmp3listWindow::draw_elapsedtime() -{ char str[5]; +{ char str[7]; if (elapsedtime > -1) { if (timeremaining_mode) sprintf(str, "-%02d:%02d", (remainingtime) / 60, (remainingtime)%60); @@ -259,7 +259,7 @@ playmp3listWindow::set_totaltime(int time) void playmp3listWindow::draw_totaltime() -{ char str[5]; +{ char str[6]; if (totaltime > -1) sprintf(str, "%02d:%02d", totaltime / 60, totaltime%60); else sprintf(str, " : "); mvaddstr(lines-2, 10, str); -- 1.5.6.5