From 9221fb77a7187957ed84e45bf6ad6f5e37755e5c Mon Sep 17 00:00:00 2001 From: Zhiqiang Liu Date: Sat, 20 Feb 2021 16:41:29 +0800 Subject: [PATCH 22/46] debugfs: fix memory leak problem in read_list() Content-Type: text/plain In read_list func, if strtoull() fails in while loop, we will return the error code directly. Then, memory of variable lst will be leaked without setting to *list. Signed-off-by: Zhiqiang Liu Signed-off-by: linfeilong Signed-off-by: Theodore Ts'o Signed-off-by: Lukas Czerner --- debugfs/util.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/debugfs/util.c b/debugfs/util.c index bbb20ff6..37620295 100644 --- a/debugfs/util.c +++ b/debugfs/util.c @@ -530,12 +530,16 @@ errcode_t read_list(char *str, blk64_t **list, size_t *len) errno = 0; y = x = strtoull(tok, &e, 0); - if (errno) - return errno; + if (errno) { + retval = errno; + break; + } if (*e == '-') { y = strtoull(e + 1, NULL, 0); - if (errno) - return errno; + if (errno) { + retval = errno; + break; + } } else if (*e != 0) { retval = EINVAL; break; -- 2.35.1