projects
/
selector.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleaned up the regexp de-allocation + syntax check for --delete-regexp.
[selector.git]
/
selector.c
diff --git
a/selector.c
b/selector.c
index
f573d79
..
4f4c0bc
100644
(file)
--- a/
selector.c
+++ b/
selector.c
@@
-1126,7
+1126,11
@@
int main(int argc, char **argv) {
case OPT_DELETE_REGEXP:
free(global_prefix_regexp);
global_prefix_regexp = safe_malloc(sizeof(*global_prefix_regexp));
case OPT_DELETE_REGEXP:
free(global_prefix_regexp);
global_prefix_regexp = safe_malloc(sizeof(*global_prefix_regexp));
- regcomp(global_prefix_regexp, optarg, 0);
+
+ if(regcomp(global_prefix_regexp, optarg, 0)) {
+ fprintf(stderr, "selector: Regexp syntax error `%s'.\n", optarg);
+ exit(EXIT_FAILURE);
+ }
break;
case 'r':
break;
case 'r':
@@
-1463,7
+1467,11
@@
int main(int argc, char **argv) {
free(labels);
free(lines);
free(global_title);
free(labels);
free(lines);
free(global_title);
- free(global_prefix_regexp);
+
+ if(global_prefix_regexp) {
+ regfree(global_prefix_regexp);
+ free(global_prefix_regexp);
+ }
exit(EXIT_SUCCESS);
}
exit(EXIT_SUCCESS);
}