file_util.c: fix possible bad memory access in file_read_line_alloc()
authorJo-Philipp Wich <jo@mein.io>
Wed, 1 Apr 2020 10:41:37 +0000 (12:41 +0200)
committerJo-Philipp Wich <jo@mein.io>
Wed, 1 Apr 2020 11:21:35 +0000 (13:21 +0200)
commit206ebaea2cd547fbc180d61279bfd2e80a0dc3dd
treeea6dbaf2fe28fb8f73acff74def0760041fd51de
parentc09fe2098718807ddbca13ee36e3e38801822946
file_util.c: fix possible bad memory access in file_read_line_alloc()

In the case of a zero length string being returned by fgets(), the condition
checking for a trailing new line would perform a bad memory access outside
of `buf`. This might happen when line with a leading null byte is read.

Avoid this case by checking that the string has a length of at least one
byte. Also change the unsigned int types to size_t to store length values
while we're at it.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
libopkg/file_util.c