aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2010-05-03 13:33:13 -0700
committerUlrich Drepper <drepper@redhat.com>2010-05-03 13:33:13 -0700
commitf2976023940a8ef3bbe0c7e593897e1b612370f1 (patch)
tree3700c0bc494047f4720cefc930119c704a9c09e8
parent49bd556d43f55d0bb6d76d57e846af85f0c986c9 (diff)
downloadglibc-f2976023940a8ef3bbe0c7e593897e1b612370f1.zip
glibc-f2976023940a8ef3bbe0c7e593897e1b612370f1.tar.gz
glibc-f2976023940a8ef3bbe0c7e593897e1b612370f1.tar.bz2
Simplify OOM handling in ldconfig.
-rw-r--r--ChangeLog2
-rw-r--r--elf/chroot_canon.c10
2 files changed, 5 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 85ab183..d332b32 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2010-05-03 Ulrich Drepper <drepper@redhat.com>
+ * elf/chroot_canon.c (chroot_canon): Use xmalloc and xrealloc.
+
* elf/ldconfig.c (parse_conf_include): Don't fall back to
directories named in config file outside the chroot.
diff --git a/elf/chroot_canon.c b/elf/chroot_canon.c
index 3c16a43..54a6a4c 100644
--- a/elf/chroot_canon.c
+++ b/elf/chroot_canon.c
@@ -1,5 +1,5 @@
/* Return the canonical absolute name of a given file inside chroot.
- Copyright (C) 1996,1997,1998,1999,2000,2001,2004,2005
+ Copyright (C) 1996,1997,1998,1999,2000,2001,2004,2005,2010
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -58,9 +58,7 @@ chroot_canon (const char *chroot, const char *name)
return NULL;
}
- rpath = malloc (chroot_len + PATH_MAX);
- if (rpath == NULL)
- return NULL;
+ rpath = xmalloc (chroot_len + PATH_MAX);
rpath_limit = rpath + chroot_len + PATH_MAX;
@@ -109,9 +107,7 @@ chroot_canon (const char *chroot, const char *name)
new_size += end - start + 1;
else
new_size += PATH_MAX;
- new_rpath = (char *) realloc (rpath, new_size);
- if (new_rpath == NULL)
- goto error;
+ new_rpath = (char *) xrealloc (rpath, new_size);
rpath = new_rpath;
rpath_limit = rpath + new_size;