diff options
Diffstat (limited to 'xdelta3/xdelta3-main.h')
-rw-r--r-- | xdelta3/xdelta3-main.h | 5 |
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; |