Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1e7c3ae authored by Phillip Lougher's avatar Phillip Lougher Committed by H. Peter Anvin
Browse files

bzip2/lzma/gzip: pre-boot malloc doesn't return NULL on failure



The trivial malloc implementation used in the pre-boot environment by the
decompressors returns a bad pointer on failure (falling through after
calling error).  This is doubly wrong - the callers expect malloc to
return NULL on failure, second the error function is intended to be
used by the decompressors to propagate errors to *their* callers.  The
decompressors have no access to any state set by the error function.

Signed-off-by: default avatarPhillip Lougher <phillip@lougher.demon.co.uk>
LKML-Reference: <4b26b1ef.hIInb2AYPMtImAJO%phillip@lougher.demon.co.uk>
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent 23637568
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ static void *malloc(int size)
	void *p;

	if (size < 0)
		error("Malloc error");
		return NULL;
	if (!malloc_ptr)
		malloc_ptr = free_mem_ptr;

@@ -35,7 +35,7 @@ static void *malloc(int size)
	malloc_ptr += size;

	if (free_mem_end_ptr && malloc_ptr >= free_mem_end_ptr)
		error("Out of memory");
		return NULL;

	malloc_count++;
	return p;