git: 1a0523197c5c - main - mkimg: Check for realloc failure

From: Colin Percival <cperciva_at_FreeBSD.org>
Date: Sat, 03 Oct 2026 15:42:38 UTC
The branch main has been updated by cperciva:

URL: https://cgit.FreeBSD.org/src/commit/?id=1a0523197c5c16ce7bcb79d16c6bf8945258b428

commit 1a0523197c5c16ce7bcb79d16c6bf8945258b428
Author:     Colin Percival <cperciva@FreeBSD.org>
AuthorDate: 2026-09-25 23:46:07 +0000
Commit:     Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2026-10-03 15:40:50 +0000

    mkimg: Check for realloc failure
    
    If realloc fails, clean up and return ENOMEM; don't just copy data
    into NULL.
    
    Reviewed by:    emaste
    Reported by:    Claude Opus 5.5
    MFC after:      2 weeks
    Sponsored by:   Amazon
    Differential Revision:  https://reviews.freebsd.org/D60147
---
 usr.bin/mkimg/vmdk.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/usr.bin/mkimg/vmdk.c b/usr.bin/mkimg/vmdk.c
index 79ef256df223..339e8413b910 100644
--- a/usr.bin/mkimg/vmdk.c
+++ b/usr.bin/mkimg/vmdk.c
@@ -133,7 +133,12 @@ vmdk_write(int fd)
 		return (ENOMEM);
 
 	desc_len = (n + VMDK_SECTOR_SIZE - 1) & ~(VMDK_SECTOR_SIZE - 1);
-	desc = realloc(desc, desc_len);
+	buf = realloc(desc, desc_len);
+	if (buf == NULL) {
+		free(desc);
+		return (ENOMEM);
+	}
+	desc = buf;
 	memset(desc + n, 0, desc_len - n);
 
 	le64enc(&hdr.desc_offset, 1);