diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7560e28eb8768d0b94e8cf832b01ec4d339a96ec..475a81eb7f1c90a61d47b8c480f9b6f69af60f82 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-29 Kai Tietz  <ktietz@redhat.com>
+
+	PR target/53912
+	* prefix.c (lookup_key): Replace xmalloc/xrealloc
+	use by XNEWVEC/XRESIZEVEC.
+
 2012-11-29  Richard Earnshaw  <rearnsha@arm.com>
 
 	PR target/55073
diff --git a/gcc/prefix.c b/gcc/prefix.c
index 369ede703090153bebb615dbba1b20ac1e0b70c5..c7003f8c6746bd249cc85db6575b4f4f13b14638 100644
--- a/gcc/prefix.c
+++ b/gcc/prefix.c
@@ -157,12 +157,12 @@ lookup_key (char *key)
     }
 
   size = 32;
-  dst = xmalloc (size);
+  dst = XNEWVEC (char, size);
 
   res = RegQueryValueExA (reg_key, key, 0, &type, (LPBYTE) dst, &size);
   if (res == ERROR_MORE_DATA && type == REG_SZ)
     {
-      dst = xrealloc (dst, size);
+      dst = XRESIZEVEC (char, dst, size);
       res = RegQueryValueExA (reg_key, key, 0, &type, (LPBYTE) dst, &size);
     }