libctf: make ctf_dump not crash on OOM
[deliverable/binutils-gdb.git] / libctf / ctf-util.c
index d10b2b53a9c34329d901106deba9b4b0afe7165d..d4a1c5aaeaceef564982062536ef600deb2d7f19 100644 (file)
@@ -103,7 +103,7 @@ ctf_sym_to_elf64 (const Elf32_Sym *src, Elf64_Sym *dst)
   return dst;
 }
 
-/* A string appender working on dynamic strings.  */
+/* A string appender working on dynamic strings.  Returns NULL on OOM.  */
 
 char *
 ctf_str_append (char *s, const char *append)
@@ -127,6 +127,19 @@ ctf_str_append (char *s, const char *append)
   return s;
 }
 
+/* A version of ctf_str_append that returns the old string on OOM.  */
+
+char *
+ctf_str_append_noerr (char *s, const char *append)
+{
+  char *new_s;
+
+  new_s = ctf_str_append (s, append);
+  if (!new_s)
+    return s;
+  return new_s;
+}
+
 /* A realloc() that fails noisily if called with any ctf_str_num_users.  */
 void *
 ctf_realloc (ctf_file_t *fp, void *ptr, size_t size)
This page took 0.023707 seconds and 4 git commands to generate.