projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
41d8fba
)
recordmcount: Fix memory leaks in the uwrite function
author
Hao Zeng
<zenghao@kylinos.cn>
Wed, 26 Apr 2023 01:05:27 +0000
(09:05 +0800)
committer
Steven Rostedt (Google)
<rostedt@goodmis.org>
Wed, 26 Apr 2023 01:10:20 +0000
(21:10 -0400)
Common realloc mistake: 'file_append' nulled but not freed upon failure
Link:
https://lkml.kernel.org/r/20230426010527.703093-1-zenghao@kylinos.cn
Signed-off-by: Hao Zeng <zenghao@kylinos.cn>
Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
scripts/recordmcount.c
patch
|
blob
|
history
diff --git
a/scripts/recordmcount.c
b/scripts/recordmcount.c
index e30216525325b792d1048c51babcd12a1d43eac8..40ae6b2c7a6da590f36d33caa543fd1376ba4945 100644
(file)
--- a/
scripts/recordmcount.c
+++ b/
scripts/recordmcount.c
@@
-110,6
+110,7
@@
static ssize_t uwrite(void const *const buf, size_t const count)
{
size_t cnt = count;
off_t idx = 0;
+ void *p = NULL;
file_updated = 1;
@@
-117,7
+118,10
@@
static ssize_t uwrite(void const *const buf, size_t const count)
off_t aoffset = (file_ptr + count) - file_end;
if (aoffset > file_append_size) {
- file_append = realloc(file_append, aoffset);
+ p = realloc(file_append, aoffset);
+ if (!p)
+ free(file_append);
+ file_append = p;
file_append_size = aoffset;
}
if (!file_append) {