summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2010-05-07 19:36:51 +0000
committerFrank Gevaerts <frank@gevaerts.be>2010-05-07 19:36:51 +0000
commite4f1bfe1c46e3421961952738294902dddbbe426 (patch)
tree26705ff0b3e2eb68dbd17a849ca88a8f5fa4d2f1
parent1c9cc6846cd9988fc2daea3c87ff15ecfe4df3d9 (diff)
downloadrockbox-e4f1bfe1c46e3421961952738294902dddbbe426.tar.gz
rockbox-e4f1bfe1c46e3421961952738294902dddbbe426.zip
Fix possible buffer overflow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25886 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/imageviewer/imageviewer.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/plugins/imageviewer/imageviewer.c b/apps/plugins/imageviewer/imageviewer.c
index d258cf3433..ed41719cca 100644
--- a/apps/plugins/imageviewer/imageviewer.c
+++ b/apps/plugins/imageviewer/imageviewer.c
@@ -128,7 +128,7 @@ static void get_pic_list(void)
128 pname = rb->strrchr(np_file,'/'); 128 pname = rb->strrchr(np_file,'/');
129 pname++; 129 pname++;
130 130
131 for (i = 0; i < tree->filesindir; i++) 131 for (i = 0; i < tree->filesindir && buf_size > sizeof(char**); i++)
132 { 132 {
133 if (!(dircache[i].attr & ATTR_DIRECTORY) 133 if (!(dircache[i].attr & ATTR_DIRECTORY)
134 && img_ext(rb->strrchr(dircache[i].name,'.'))) 134 && img_ext(rb->strrchr(dircache[i].name,'.')))
@@ -138,11 +138,11 @@ static void get_pic_list(void)
138 if (!rb->strcmp(file_pt[entries], pname)) 138 if (!rb->strcmp(file_pt[entries], pname))
139 curfile = entries; 139 curfile = entries;
140 entries++; 140 entries++;
141
142 buf += (sizeof(char**));
143 buf_size -= (sizeof(char**));
141 } 144 }
142 } 145 }
143
144 buf += (entries * sizeof(char**));
145 buf_size -= (entries * sizeof(char**));
146} 146}
147 147
148static int change_filename(int direct) 148static int change_filename(int direct)