summaryrefslogtreecommitdiff
path: root/xdelta3/xdelta3-main.h
diff options
context:
space:
mode:
Diffstat (limited to 'xdelta3/xdelta3-main.h')
-rw-r--r--xdelta3/xdelta3-main.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/xdelta3/xdelta3-main.h b/xdelta3/xdelta3-main.h
index 090b7d9..5146b38 100644
--- a/xdelta3/xdelta3-main.h
+++ b/xdelta3/xdelta3-main.h
@@ -2810,14 +2810,15 @@ main_get_appheader (xd3_stream *stream, main_file *ifile,
2810 2810
2811 if (appheadsz > 0) 2811 if (appheadsz > 0)
2812 { 2812 {
2813 const int kMaxArgs = 4;
2813 char *start = (char*)apphead; 2814 char *start = (char*)apphead;
2814 char *slash; 2815 char *slash;
2815 int place = 0; 2816 int place = 0;
2816 char *parsed[4]; 2817 char *parsed[kMaxArgs];
2817 2818
2818 memset (parsed, 0, sizeof (parsed)); 2819 memset (parsed, 0, sizeof (parsed));
2819 2820
2820 while ((slash = strchr (start, '/')) != NULL) 2821 while ((slash = strchr (start, '/')) != NULL && place < (kMaxArgs-1))
2821 { 2822 {
2822 *slash = 0; 2823 *slash = 0;
2823 parsed[place++] = start; 2824 parsed[place++] = start;