aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Luis Duran <jlduran@FreeBSD.org>2025-10-21 13:11:50 +0000
committerJose Luis Duran <jlduran@FreeBSD.org>2025-11-25 00:42:36 +0000
commit646c0a2fe64651dc6315ff4b0ed6ba00924ca080 (patch)
treeccc3be6bc1703e98839cfa8d88da0c0cf5702600
parent9eca9724b8706cd185f99ed5a638fad9ce9abe1b (diff)
nuageinit: Add guards against empty user data
Add guards against attempting to process a user data file with an empty first line or contents. PR: 290395 Reviewed by: bapt (earlier), dtxdf, markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D53239 (cherry picked from commit 57d25b6333523491ac7a3e869bd5d16127203eed)
-rwxr-xr-xlibexec/nuageinit/nuageinit8
1 files changed, 8 insertions, 0 deletions
diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit
index 148f5b3b30cd..0870d6570d0e 100755
--- a/libexec/nuageinit/nuageinit
+++ b/libexec/nuageinit/nuageinit
@@ -662,8 +662,16 @@ if not f then
os.exit(0)
end
local line = f:read("*l")
+if not line or #string.gsub(line, "^%s*(.-)%s*$", "%1") == 0 then
+ f:close()
+ os.exit(0)
+end
if citype ~= "postnet" then
local content = f:read("*a")
+ if not content or #string.gsub(content, "^%s*(.-)%s*$", "%1") == 0 then
+ f:close()
+ os.exit(0)
+ end
nuage.mkdir_p(root .. "/var/cache/nuageinit")
local tof = assert(io.open(root .. "/var/cache/nuageinit/user_data", "w"))
tof:write(line .. "\n" .. content)