[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221028144241.634012-1-her0gyugyu@gmail.com>
Date: Fri, 28 Oct 2022 07:42:41 -0700
From: "YoungJun.park" <her0gyugyu@...il.com>
To: Brendan Higgins <brendan.higgins@...ux.dev>
Cc: David Gow <davidgow@...gle.com>, linux-kselftest@...r.kernel.org,
kunit-dev@...glegroups.com, linux-kernel@...r.kernel.org,
"YoungJun.park" <her0gyugyu@...il.com>
Subject: [PATCH] kunit: alloc_string_stream_fragment error handling bug fix
When it fails to allocate fragment, it does not free and return error.
And check the pointer inappropriately.
Signed-off-by: YoungJun.park <her0gyugyu@...il.com>
---
lib/kunit/string-stream.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/kunit/string-stream.c b/lib/kunit/string-stream.c
index 72659a9773e3..0228fe814e96 100644
--- a/lib/kunit/string-stream.c
+++ b/lib/kunit/string-stream.c
@@ -23,8 +23,10 @@ static struct string_stream_fragment *alloc_string_stream_fragment(
return ERR_PTR(-ENOMEM);
frag->fragment = kunit_kmalloc(test, len, gfp);
- if (!frag->fragment)
+ if (!frag->fragment) {
+ kunit_kfree(test, frag);
return ERR_PTR(-ENOMEM);
+ }
return frag;
}
@@ -56,7 +58,7 @@ int string_stream_vadd(struct string_stream *stream,
frag_container = alloc_string_stream_fragment(stream->test,
len,
stream->gfp);
- if (!frag_container)
+ if (IS_ERR(frag_container))
return -ENOMEM;
len = vsnprintf(frag_container->fragment, len, fmt, args);
--
2.25.1
Powered by blists - more mailing lists