Fix memory leak and print a warning on invalid regex

This will minimize the already low memory usage of sent.
master
FRIGN 8 years ago committed by Markus Teich
parent e8914d5d4b
commit 072a318adb

@ -185,12 +185,16 @@ ffload(Slide *s)
for (i = 0; i < LEN(filters); i++) { for (i = 0; i < LEN(filters); i++) {
if (regcomp(&regex, filters[i].regex, if (regcomp(&regex, filters[i].regex,
REG_NOSUB | REG_EXTENDED | REG_ICASE)) REG_NOSUB | REG_EXTENDED | REG_ICASE)) {
fprintf(stderr, "sent: Invalid regex '%s'\n", filters[i].regex);
continue; continue;
}
if (!regexec(&regex, filename, 0, NULL, 0)) { if (!regexec(&regex, filename, 0, NULL, 0)) {
bin = filters[i].bin; bin = filters[i].bin;
regfree(&regex);
break; break;
} }
regfree(&regex);
} }
if (!bin) if (!bin)
die("sent: Unable to find matching filter for file %s", filename); die("sent: Unable to find matching filter for file %s", filename);

Loading…
Cancel
Save