lxc/0131-fix-commands-and-terminal-memory-leak-bug.patch
LiFeng 7b470b3cde lxc: internal change at 1.6
Change-Id: I5821dc8a44f724e59cee65e356dfae4fbae04f76
Signed-off-by: LiFeng <lifeng68@huawei.com>
2020-01-05 22:20:49 -05:00

44 lines
1.4 KiB
Diff

From 6e5ce4f3e23cb7cb5ccfba058b6aca8829e2fa87 Mon Sep 17 00:00:00 2001
From: wujing <wujing50@huawei.com>
Date: Wed, 18 Dec 2019 15:44:19 +0800
Subject: [PATCH 131/138] fix commands and terminal memory leak bug
Signed-off-by: wujing <wujing50@huawei.com>
---
src/lxc/commands.c | 5 ++++-
src/lxc/terminal.c | 1 +
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/lxc/commands.c b/src/lxc/commands.c
index 7d6cf6f..b70564f 100644
--- a/src/lxc/commands.c
+++ b/src/lxc/commands.c
@@ -1083,8 +1083,11 @@ int lxc_cmd_set_terminal_fifos(const char *name, const char *lxcpath, const char
if (tmp == NULL)
return -1;
ret = snprintf(tmp, len, "%s%s%s%s%s", cmd_in_fifo, split, cmd_out_fifo, split, cmd_err_fifo);
- if (ret < 0 || ret >= len)
+ if (ret < 0 || ret >= len) {
+ ERROR("Failed to snprintf in fifo of command");
+ free(tmp);
return -1;
+ }
struct lxc_cmd_rr cmd = {
.req = {
diff --git a/src/lxc/terminal.c b/src/lxc/terminal.c
index b547013..bccc23d 100644
--- a/src/lxc/terminal.c
+++ b/src/lxc/terminal.c
@@ -243,6 +243,7 @@ static int lxc_terminal_rename_old_log_file(struct lxc_terminal *terminal)
for (i = terminal->log_rotate - 1; i > 1; i--) {
ret = snprintf(tmp, PATH_MAX, "%s.%u", terminal->log_path, i);
if (ret < 0 || ret >= PATH_MAX) {
+ free(rename_fname);
return -EFBIG;
}
free(rename_fname);
--
1.8.3.1