* read.c (do_s_func): Check asprintf return status.
authorAlan Modra <amodra@gmail.com>
Mon, 15 Oct 2007 02:01:25 +0000 (02:01 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 15 Oct 2007 02:01:25 +0000 (02:01 +0000)
* stabs.c (stabs_generate_asm_func): Likewise.
(stabs_generate_asm_endfunc): Likewise.

gas/ChangeLog
gas/read.c
gas/stabs.c

index 82a5d364c32d8331f307afc0167b85f69dc84a33..407db4416ec11fcd6fd5f70f06265166daa85850 100644 (file)
@@ -1,3 +1,9 @@
+2007-10-15  Alan Modra  <amodra@bigpond.net.au>
+
+       * read.c (do_s_func): Check asprintf return status.
+       * stabs.c (stabs_generate_asm_func): Likewise.
+       (stabs_generate_asm_endfunc): Likewise.
+
 2007-10-12  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/tc-i386.c (process_operands): Simplify implicit xmm0
index baf85be39b13fd8b4d22706525e5f1ab110cafb4..379b3f292a9b6f456bbb83f863488dcefa910964 100644 (file)
@@ -5671,14 +5671,20 @@ do_s_func (int end_p, const char *default_prefix)
       if (*input_line_pointer != ',')
        {
          if (default_prefix)
-           asprintf (&label, "%s%s", default_prefix, name);
+           {
+             if (asprintf (&label, "%s%s", default_prefix, name) == -1)
+               as_fatal ("%s", xstrerror (errno));
+           }
          else
            {
              char leading_char = bfd_get_symbol_leading_char (stdoutput);
              /* Missing entry point, use function's name with the leading
                 char prepended.  */
              if (leading_char)
-               asprintf (&label, "%c%s", leading_char, name);
+               {
+                 if (asprintf (&label, "%c%s", leading_char, name) == -1)
+                   as_fatal ("%s", xstrerror (errno));
+               }
              else
                label = name;
            }
index 275a32792edf05d9a330e86f2c8c235ff7d1be8b..69cca1de4b1ee04ca31c5b1d7ba825213c26f171 100644 (file)
@@ -669,8 +669,9 @@ stabs_generate_asm_func (const char *funcname, const char *startlabname)
     }
 
   as_where (&file, &lineno);
-  asprintf (&buf, "\"%s:F1\",%d,0,%d,%s",
-           funcname, N_FUN, lineno + 1, startlabname);
+  if (asprintf (&buf, "\"%s:F1\",%d,0,%d,%s",
+               funcname, N_FUN, lineno + 1, startlabname) == -1)
+    as_fatal ("%s", xstrerror (errno));
   input_line_pointer = buf;
   s_stab ('s');
   free (buf);
@@ -695,7 +696,8 @@ stabs_generate_asm_endfunc (const char *funcname ATTRIBUTE_UNUSED,
   ++label_count;
   colon (sym);
 
-  asprintf (&buf, "\"\",%d,0,0,%s-%s", N_FUN, sym, startlabname);
+  if (asprintf (&buf, "\"\",%d,0,0,%s-%s", N_FUN, sym, startlabname) == -1)
+    as_fatal ("%s", xstrerror (errno));
   input_line_pointer = buf;
   s_stab ('s');
   free (buf);