From c2d1130db454fd16878f5400d58af4aa06bf5845 Mon Sep 17 00:00:00 2001 From: h_vogt Date: Wed, 11 Sep 2013 22:07:54 +0200 Subject: [PATCH] inpcom.c: dynamic array size in `inp_split_multi_param_lines()' --- src/frontend/inpcom.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/frontend/inpcom.c b/src/frontend/inpcom.c index 6cc7a0e2a..0444db175 100644 --- a/src/frontend/inpcom.c +++ b/src/frontend/inpcom.c @@ -4074,7 +4074,7 @@ inp_split_multi_param_lines(struct line *card, int line_num) if (ciprefix(".param", curr_line)) { struct line *param_end, *param_beg; - char *equal_ptr, *array[5000]; + char *equal_ptr, **array; int i, counter = 0; while ((equal_ptr = find_assignment(curr_line)) != NULL) { @@ -4085,6 +4085,8 @@ inp_split_multi_param_lines(struct line *card, int line_num) if (counter <= 1) continue; + array = TMALLOC(char *, counter); + // need to split multi param line curr_line = card->li_line; counter = 0; @@ -4131,6 +4133,8 @@ inp_split_multi_param_lines(struct line *card, int line_num) param_end = x; } + tfree(array); + // comment out current multi-param line *(card->li_line) = '*'; // insert new param lines immediately after current line