52 lines
1.2 KiB
Diff
52 lines
1.2 KiB
Diff
|
|
From 2066abebb6fb5fdcad6f11334e75a3029374b912 Mon Sep 17 00:00:00 2001
|
||
|
|
From: huyan <hu.huyan@huawei.com>
|
||
|
|
Date: Mon, 17 Jun 2019 15:04:45 +0800
|
||
|
|
Subject: [PATCH] backport remove resource leaks from rpc-pipefs-generator.c
|
||
|
|
|
||
|
|
---
|
||
|
|
systemd/rpc-pipefs-generator.c | 10 ++++++++--
|
||
|
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/systemd/rpc-pipefs-generator.c b/systemd/rpc-pipefs-generator.c
|
||
|
|
index 0b5da11..8e218aa 100644
|
||
|
|
--- a/systemd/rpc-pipefs-generator.c
|
||
|
|
+++ b/systemd/rpc-pipefs-generator.c
|
||
|
|
@@ -69,12 +69,16 @@ int generate_target(char *pipefs_path, const char *dirname)
|
||
|
|
return 1;
|
||
|
|
|
||
|
|
ret = generate_mount_unit(pipefs_path, pipefs_unit, dirname);
|
||
|
|
- if (ret)
|
||
|
|
+ if (ret) {
|
||
|
|
+ free(pipefs_unit);
|
||
|
|
return ret;
|
||
|
|
+ }
|
||
|
|
|
||
|
|
path = malloc(strlen(dirname) + 1 + sizeof(filebase));
|
||
|
|
- if (!path)
|
||
|
|
+ if (!path) {
|
||
|
|
+ free(pipefs_unit);
|
||
|
|
return 2;
|
||
|
|
+ }
|
||
|
|
sprintf(path, "%s", dirname);
|
||
|
|
mkdir(path, 0755);
|
||
|
|
strcat(path, filebase);
|
||
|
|
@@ -82,6 +86,7 @@ int generate_target(char *pipefs_path, const char *dirname)
|
||
|
|
if (!f)
|
||
|
|
{
|
||
|
|
free(path);
|
||
|
|
+ free(pipefs_unit);
|
||
|
|
return 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
@@ -90,6 +95,7 @@ int generate_target(char *pipefs_path, const char *dirname)
|
||
|
|
fprintf(f, "After=%s\n", pipefs_unit);
|
||
|
|
fclose(f);
|
||
|
|
free(path);
|
||
|
|
+ free(pipefs_unit);
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
--
|
||
|
|
1.8.3.1
|
||
|
|
|