⛏️ index : buildtools.git

author Simon South <simon@simonsouth.net> 2019-08-13 16:04:36.0 -04:00:00
committer waddlesplash <waddlesplash@gmail.com> 2019-08-13 20:22:35.0 +00:00:00
commit
18e01e2af6dd1a4145d91f47cc1d658a36b0bd56 [patch]
tree
c51e22df0fefce7b00c453ca33f993d901bf69d6
parent
86f02e2a45ee46f45e674f56e6147e4245172662
download
18e01e2af6dd1a4145d91f47cc1d658a36b0bd56.tar.gz

jam: jcache: Accept empty input files

Make new_string_list() initialize the buffer it creates to hold a file's
contents, preventing a segfault later on should jam attempt to parse the
contents of an empty file.

Fixes #15250.

Change-Id: I907dccd26e1ca35fbe07ed6d624b0144487134fe
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/1716
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

Diff

 jam/jcache.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/jam/jcache.c b/jam/jcache.c
index c50fc0f..47e471a 100644
--- a/jam/jcache.c
+++ a/jam/jcache.c
@@ -112,7 +112,9 @@
		if (block_size <= 0)
			block_size = 5;
		list->block_size = block_size;
		if (!resize_string_list(list, 0)) {
		if (resize_string_list(list, 0))
			*list->strings = 0;
		else {
			free(list);
			list = 0;
		}