summaryrefslogtreecommitdiff
path: root/apps/settings.c
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2006-04-25 00:14:21 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2006-04-25 00:14:21 +0000
commitab90b1d55e7d267591cef2ed4828494e7e62d630 (patch)
tree09f1629cb868f589d1b018be0209387e1208a8ea /apps/settings.c
parent45406014d76ad4e630b47d3a3cca5e3639265424 (diff)
downloadrockbox-ab90b1d55e7d267591cef2ed4828494e7e62d630.zip
rockbox-ab90b1d55e7d267591cef2ed4828494e7e62d630.tar.gz
rockbox-ab90b1d55e7d267591cef2ed4828494e7e62d630.tar.bz2
rockbox-ab90b1d55e7d267591cef2ed4828494e7e62d630.tar.xz
Added bad filename protection when user enters an fm radio preset filename. Fixes bugreport 5137.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9795 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings.c')
-rw-r--r--apps/settings.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/apps/settings.c b/apps/settings.c
index 2eeb6a9..5929da4 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -1316,10 +1316,11 @@ void set_file(char* filename, char* setting, int maxlen)
len = strlen(fptr);
ptr = fptr + len;
- while (*ptr != '.') {
+ while ((*ptr != '.') && (ptr != fptr)) {
extlen++;
ptr--;
}
+ if(ptr == fptr) extlen = 0;
if (strncasecmp(ROCKBOX_DIR, filename ,strlen(ROCKBOX_DIR)) ||
(len-extlen > maxlen))