diff options
| author | Jose Luis Duran <jlduran@FreeBSD.org> | 2025-10-21 13:11:50 +0000 |
|---|---|---|
| committer | Jose Luis Duran <jlduran@FreeBSD.org> | 2025-11-25 00:42:36 +0000 |
| commit | 646c0a2fe64651dc6315ff4b0ed6ba00924ca080 (patch) | |
| tree | ccc3be6bc1703e98839cfa8d88da0c0cf5702600 | |
| parent | 9eca9724b8706cd185f99ed5a638fad9ce9abe1b (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-x | libexec/nuageinit/nuageinit | 8 |
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) |
