just use the stack to kill memleak and return if user didnt give us anything to match
This commit is contained in:
parent
bf2d9905ca
commit
20c22e0883
@ -659,7 +659,7 @@ static void regex_process(void)
|
|||||||
char current_line[256];
|
char current_line[256];
|
||||||
int i;
|
int i;
|
||||||
int j = 0;
|
int j = 0;
|
||||||
regex_t *pattern;
|
regex_t pattern;
|
||||||
|
|
||||||
/* Reset variables */
|
/* Reset variables */
|
||||||
match_lines[0] = -1;
|
match_lines[0] = -1;
|
||||||
@ -667,9 +667,6 @@ static void regex_process(void)
|
|||||||
num_matches = 0;
|
num_matches = 0;
|
||||||
match_found = 0;
|
match_found = 0;
|
||||||
|
|
||||||
pattern = (regex_t *) malloc(sizeof(regex_t));
|
|
||||||
memset(pattern, 0, sizeof(regex_t));
|
|
||||||
|
|
||||||
/* Get the uncompiled regular expression from the user */
|
/* Get the uncompiled regular expression from the user */
|
||||||
clear_line();
|
clear_line();
|
||||||
putchar((match_backwards) ? '?' : '/');
|
putchar((match_backwards) ? '?' : '/');
|
||||||
@ -681,14 +678,15 @@ static void regex_process(void)
|
|||||||
uncomp_regex[i-1] = '\0';
|
uncomp_regex[i-1] = '\0';
|
||||||
else
|
else
|
||||||
while((i = getchar()) != '\n' && i != EOF);
|
while((i = getchar()) != '\n' && i != EOF);
|
||||||
}
|
} else
|
||||||
|
return;
|
||||||
|
|
||||||
/* Compile the regex and check for errors */
|
/* Compile the regex and check for errors */
|
||||||
xregcomp(pattern, uncomp_regex, 0);
|
xregcomp(&pattern, uncomp_regex, 0);
|
||||||
|
|
||||||
/* Run the regex on each line of the current file here */
|
/* Run the regex on each line of the current file here */
|
||||||
for (i = 0; i <= num_flines; i++) {
|
for (i = 0; i <= num_flines; i++) {
|
||||||
strcpy(current_line, process_regex_on_line(flines[i], pattern));
|
strcpy(current_line, process_regex_on_line(flines[i], &pattern));
|
||||||
flines[i] = bb_xstrdup(current_line);
|
flines[i] = bb_xstrdup(current_line);
|
||||||
if (match_found) {
|
if (match_found) {
|
||||||
match_lines[j] = i;
|
match_lines[j] = i;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user