Thank you for doing that.
Zhiqiang Liu
On 2021/3/2 21:33, Coly Li wrote:
On 2/27/21 10:35 AM, Zhiqiang Liu wrote:
quoted
In tree(), we do not check whether malloc() returns NULL,
it may cause potential Null pointer dereference problem.
In addition, when we fail to list devices, we should free(out)
before return.
Signed-off-by: ZhiqiangLiu <redacted>
Applied. BTW, I change your above name string from ZhiqiangLiu to
Zhiqiang Liu, because of the checkpatch.pl warning.
Thanks.
Coly Li
quoted
---
bcache.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/bcache.c b/bcache.c
index 044d401..1c4cef9 100644
--- a/bcache.c
+++ b/bcache.c
@@ -174,7 +174,7 @@ void replace_line(char **dest, const char *from, const char *to)
int tree(void)
{
- char *out = (char *)malloc(4096);
+ char *out;
const char *begin = ".\n";
const char *middle = "├─";
const char *tail = "└─";@@ -184,8 +184,15 @@ int tree(void)
INIT_LIST_HEAD(&head);
int ret;
+ out = (char *)malloc(4096);
+ if (out == NULL) {
+ fprintf(stderr, "Error: fail to allocate memory buffer\n");
+ return 1;
+ }
+
ret = list_bdevs(&head);
if (ret != 0) {
+ free(out);
fprintf(stderr, "Failed to list devices\n");
return ret;
}
.