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-22 17:23:20 +0000 |
| commit | 57d25b6333523491ac7a3e869bd5d16127203eed (patch) | |
| tree | d76e6a4747f301bf28716cdaaed15a19de06002a /libexec | |
| parent | 81af04b081402d131c7e34b30c88b7c337271fad (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
Diffstat (limited to 'libexec')
| -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 0270da5c515b..a5411c60b410 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -663,8 +663,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) |
