Fix memory leak and print a warning on invalid regex
authorFRIGN <dev@frign.de>
Thu, 11 Aug 2016 19:30:34 +0000 (21:30 +0200)
committerMarkus Teich <markus.teich@stusta.mhn.de>
Thu, 11 Aug 2016 21:42:09 +0000 (23:42 +0200)
This will minimize the already low memory usage of sent.

sent.c

diff --git a/sent.c b/sent.c
index a4d0cd25ac11d8c2c0f35b4a2d19f1722116e927..1e1353c42cea69510919759ce1eb89ead7a51ecd 100644 (file)
--- a/sent.c
+++ b/sent.c
@@ -185,12 +185,16 @@ ffload(Slide *s)
 
        for (i = 0; i < LEN(filters); i++) {
                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;
+               }
                if (!regexec(&regex, filename, 0, NULL, 0)) {
                        bin = filters[i].bin;
+                       regfree(&regex);
                        break;
                }
+               regfree(&regex);
        }
        if (!bin)
                die("sent: Unable to find matching filter for file %s", filename);