yangre BUGFIX trying to free a global variable
diff --git a/tools/re/main.c b/tools/re/main.c
index 9fb1d01..12b5fdf 100644
--- a/tools/re/main.c
+++ b/tools/re/main.c
@@ -315,7 +315,9 @@
     }
     free(patterns);
     free(invert_match);
-    free(modstr);
+    if (modstr != module_start) {
+        free(modstr);
+    }
     if (infile) {
         fclose(infile);
         free(str);