59 lines
1.5 KiB
Diff
59 lines
1.5 KiB
Diff
diff --git a/src/man.c b/src/man.c
|
|
index b3d13d1..030a5d1 100644
|
|
--- a/src/man.c
|
|
+++ b/src/man.c
|
|
@@ -991,11 +991,17 @@ static char *get_preprocessors_from_file (pipeline *decomp, int prefixes)
|
|
|
|
if (!strncmp (line, PP_COOKIE, 4)) {
|
|
const char *newline = strchr (line, '\n');
|
|
- if (newline)
|
|
- return xstrndup (line + 4, newline - (line + 4));
|
|
- else
|
|
- return xstrdup (line + 4);
|
|
+ if (newline) {
|
|
+ char *ret = xstrndup (line + 4, newline - (line + 4));
|
|
+ free (line);
|
|
+ return ret;
|
|
+ } else {
|
|
+ char *ret = xstrdup (line + 4);
|
|
+ free (line);
|
|
+ return ret;
|
|
+ }
|
|
}
|
|
+ free (line);
|
|
return NULL;
|
|
}
|
|
|
|
@@ -2401,6 +2407,7 @@ static int display (const char *dir, const char *man_file,
|
|
if (!found) {
|
|
pipeline_free (format_cmd);
|
|
pipeline_free (decomp);
|
|
+ free (formatted_encoding);
|
|
return found;
|
|
}
|
|
|
|
diff --git a/src/zsoelim.c b/src/zsoelim.c
|
|
index bf5c8ff..6a484c4 100644
|
|
--- a/src/zsoelim.c
|
|
+++ b/src/zsoelim.c
|
|
@@ -2528,6 +2528,7 @@ int zsoelim_open_file (const char *filename, gl_list_t manpathlist,
|
|
if (decomp) {
|
|
NAME = xstrdup (found_name);
|
|
gl_list_free (names);
|
|
+ free (name);
|
|
goto out;
|
|
}
|
|
} GL_LIST_FOREACH_END (names);
|
|
diff --git a/src/zsoelim.l b/src/zsoelim.l
|
|
index a8a7e3b..3cb552b 100644
|
|
--- a/src/zsoelim.l
|
|
+++ b/src/zsoelim.l
|
|
@@ -473,6 +473,7 @@ int zsoelim_open_file (const char *filename, gl_list_t manpathlist,
|
|
if (decomp) {
|
|
NAME = xstrdup (found_name);
|
|
gl_list_free (names);
|
|
+ free (name);
|
|
goto out;
|
|
}
|
|
} GL_LIST_FOREACH_END (names);
|