2008-02-05 12:06:24

by Jim Meyering

[permalink] [raw]
Subject: [PATCH] Handle failed malloc.


* lib/inflate.c (inflate_dynamic): Don't deref NULL upon failed malloc.
* arch/um/os-Linux/mem.c (make_tempfile): Likewise.

Signed-off-by: Jim Meyering <[email protected]>
---
arch/um/os-Linux/mem.c | 2 ++
lib/inflate.c | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/um/os-Linux/mem.c b/arch/um/os-Linux/mem.c
index 436f8d2..e114d09 100644
--- a/arch/um/os-Linux/mem.c
+++ b/arch/um/os-Linux/mem.c
@@ -172,6 +172,8 @@ int __init make_tempfile(const char *template, char **out_tempname,

which_tmpdir();
tempname = malloc(MAXPATHLEN);
+ if (tempname == NULL)
+ return -1;

find_tempdir();
if (template[0] != '/')
diff --git a/lib/inflate.c b/lib/inflate.c
index 845f91d..9762294 100644
--- a/lib/inflate.c
+++ b/lib/inflate.c
@@ -811,6 +811,9 @@ DEBG("<dyn");
ll = malloc(sizeof(*ll) * (286+30)); /* literal/length and distance code lengths */
#endif

+ if (ll == NULL)
+ return 1;
+
/* make local bit buffer */
b = bb;
k = bk;
--
1.5.4.19.gd3dfd