diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2013-05-10 10:47:24 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2013-05-15 14:37:35 +0800 |
commit | 7c8683fa009115f8a3b08b7a7666b64ebcbbc1bc (patch) | |
tree | ff25b865d09ebfb27d1430599ded3e3a5096769f | |
parent | 3fb8fb6fb6259e7b0894cb3756ea02dbe2d361f3 (diff) | |
download | talos-petitboot-7c8683fa009115f8a3b08b7a7666b64ebcbbc1bc.tar.gz talos-petitboot-7c8683fa009115f8a3b08b7a7666b64ebcbbc1bc.zip |
discover: Always add a NUL byte to config data
conf_get_pair will read one-byte past the end of the conf buffer, so
always NUL-terminate.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
-rw-r--r-- | discover/parser.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/discover/parser.c b/discover/parser.c index 11728b7..8d4c180 100644 --- a/discover/parser.c +++ b/discover/parser.c @@ -37,7 +37,7 @@ static int read_file(struct discover_context *ctx, if (len > max_file_size) goto err_close; - buf = talloc_array(ctx, char, len); + buf = talloc_array(ctx, char, len + 1); if (!buf) goto err_close; @@ -55,6 +55,8 @@ static int read_file(struct discover_context *ctx, } + buf[len] = '\0'; + close(fd); *bufp = buf; *lenp = len; |