about summary refs log tree commit diff
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.tar.gz
glibc-f2976023940a8ef3bbe0c7e593897e1b612370f1.tar.xz
glibc-f2976023940a8ef3bbe0c7e593897e1b612370f1.zip
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 85ab18394e..d332b3231d 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 3c16a43ebb..54a6a4cc96 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;