summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Jarosch <tomj@simonv.com>2011-02-18 21:39:59 +0000
committerThomas Jarosch <tomj@simonv.com>2011-02-18 21:39:59 +0000
commit15a5f9ca95755bbe22214086d5ec31fe0689842f (patch)
tree040a58997c255d3155bb1a5d463e888508bc33dc
parent84fccff17070ba78764ae200c4f38e0a53ff0ce7 (diff)
downloadrockbox-15a5f9ca95755bbe22214086d5ec31fe0689842f.tar.gz
rockbox-15a5f9ca95755bbe22214086d5ec31fe0689842f.zip
Don't underflow the buffer in format_track_path() if it consists of whitespaces
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29325 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/playlist.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/apps/playlist.c b/apps/playlist.c
index 3bbe8b2f99..aa53ef9a49 100644
--- a/apps/playlist.c
+++ b/apps/playlist.c
@@ -1666,12 +1666,13 @@ static int format_track_path(char *dest, char *src, int buf_length, int max,
1666 i++; 1666 i++;
1667 1667
1668 /* Now work back killing white space */ 1668 /* Now work back killing white space */
1669 while((src[i-1] == ' ') || 1669 while((i > 0) &&
1670 (src[i-1] == '\t')) 1670 ((src[i-1] == ' ') ||
1671 (src[i-1] == '\t')))
1671 i--; 1672 i--;
1672 1673
1673 src[i]=0; 1674 src[i]=0;
1674 1675
1675 /* replace backslashes with forward slashes */ 1676 /* replace backslashes with forward slashes */
1676 for ( j=0; j<i; j++ ) 1677 for ( j=0; j<i; j++ )
1677 if ( src[j] == '\\' ) 1678 if ( src[j] == '\\' )