From: Jan S. <jst...@re...> - 2013-03-21 15:08:38
|
char *cuts_info[5]; ... while (tok_num < 5 && (cuts_info[++tok_num] = strtok(NULL, "\t ")) != NULL) ; While above can run for tok_num == 4, in which case: cuts_info[++tok_num] becomes cuts_info[5] and that is outside of cuts_info array. Signed-off-by: Jan Stancek <jst...@re...> --- pan/tag_report.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/pan/tag_report.c b/pan/tag_report.c index 473bed1..61caabd 100644 --- a/pan/tag_report.c +++ b/pan/tag_report.c @@ -425,7 +425,7 @@ SYM tags; int cuts_testcase(tag, keys) SYM tag, keys; { - char *cuts_info[5]; + char *cuts_info[6]; char key[KEYSIZE]; char *oldresult, *newresult, *worst_case(); int tok_num = 0; -- 1.7.1 |
From: Wanlong G. <gao...@cn...> - 2013-03-22 02:42:49
|
On 03/21/2013 11:08 PM, Jan Stancek wrote: > char *cuts_info[5]; > ... > while (tok_num < 5 && > (cuts_info[++tok_num] = strtok(NULL, "\t ")) != NULL) ; > > While above can run for tok_num == 4, in which case: > cuts_info[++tok_num] becomes cuts_info[5] > and that is outside of cuts_info array. > > Signed-off-by: Jan Stancek <jst...@re...> Applied, thank you. Wanlong Gao |