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

Reply via email to