From: Adam Julis Date: Wed, 15 Jan 2025 13:27:20 +0000 (+0100) Subject: conf: check size of secret file for secret object X-Git-Tag: v11.1.0-rc1~171 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=62b961d64ce9d4357ea0becfdd473dfa093fb970;p=thirdparty%2Flibvirt.git conf: check size of secret file for secret object Since the empty file with a .base64 value wasn't recognized during the loading process (starting of libvirtd), attempting to get a value for the UUID resulted in an undefined error. This patch resolves the issue by checking the size of the file and ensuring that the stored value is as expected (NULL). Reviewed-by: Daniel P. Berrangé Signed-off-by: Adam Julis --- diff --git a/src/conf/virsecretobj.c b/src/conf/virsecretobj.c index 455798d414..66270e2751 100644 --- a/src/conf/virsecretobj.c +++ b/src/conf/virsecretobj.c @@ -836,6 +836,11 @@ virSecretLoadValue(virSecretObj *obj) goto cleanup; } + if (st.st_size < 1) { + ret = 0; + goto cleanup; + } + contents = g_new0(char, st.st_size + 1); if (saferead(fd, contents, st.st_size) != st.st_size) {