From c406eb80f830ab3fb285f5e6816fd43304b9fbb2 Mon Sep 17 00:00:00 2001 From: thomasjfox Date: Fri, 18 Feb 2011 21:56:48 +0000 Subject: [PATCH] Make sure we don't read past the end of a C-string in format_track_path. Second part of FS #11947 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29326 a1c6a512-1295-4272-9138-f99709370657 --- apps/playlist.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/playlist.c b/apps/playlist.c index aa53ef9a49..bbbbe22349 100644 --- a/apps/playlist.c +++ b/apps/playlist.c @@ -1659,10 +1659,11 @@ static int format_track_path(char *dest, char *src, int buf_length, int max, int j; char *temp_ptr; - /* Zero-terminate the file name */ + /* Look for the end of the string */ while((i < max) && (src[i] != '\n') && - (src[i] != '\r')) + (src[i] != '\r') && + (src[i] != '\0')) i++; /* Now work back killing white space */ @@ -1671,6 +1672,7 @@ static int format_track_path(char *dest, char *src, int buf_length, int max, (src[i-1] == '\t'))) i--; + /* Zero-terminate the file name */ src[i]=0; /* replace backslashes with forward slashes */ -- 2.11.4.GIT