pstore/zone: Add a null pointer check to the psz_kmsg_read
authorKunwu Chan <chentao@kylinos.cn>
Thu, 18 Jan 2024 10:02:06 +0000 (18:02 +0800)
committerKees Cook <keescook@chromium.org>
Thu, 22 Feb 2024 18:37:22 +0000 (10:37 -0800)
kasprintf() returns a pointer to dynamically allocated memory
which can be NULL upon failure. Ensure the allocation was successful
by checking the pointer validity.

Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
Link: https://lore.kernel.org/r/20240118100206.213928-1-chentao@kylinos.cn
Signed-off-by: Kees Cook <keescook@chromium.org>
fs/pstore/zone.c

index 2770746..abca117 100644 (file)
@@ -973,6 +973,8 @@ static ssize_t psz_kmsg_read(struct pstore_zone *zone,
                char *buf = kasprintf(GFP_KERNEL, "%s: Total %d times\n",
                                      kmsg_dump_reason_str(record->reason),
                                      record->count);
+               if (!buf)
+                       return -ENOMEM;
                hlen = strlen(buf);
                record->buf = krealloc(buf, hlen + size, GFP_KERNEL);
                if (!record->buf) {