diff options
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/ada-exp.y | 2 | ||||
-rw-r--r-- | gdb/ada-lang.c | 19 |
3 files changed, 20 insertions, 11 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7e40385..59c7470 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2009-04-14 Pierre Muller <muller@ics.u-strasbg.fr> + + ARI fix: sprintf rule. + * ada-exp.y (convert_char_literal): Replace sprintf by xsnprintf. + * ada-lang.c (add_angle_brackets): Use xstrprintf. + (ada_decode): Replace sprintf by xsnprintf. + (find_old_style_renaming_symbol): Ditto. + (ada_to_fixed_type_1, ada_enum_name): Ditto. + + 2009-04-14 Joel Brobecker <brobecker@adacore.com> * target.c (target_mourn_inferior): Call bfd_cache_close_all diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y index ee0fcf3..1d3c619 100644 --- a/gdb/ada-exp.y +++ b/gdb/ada-exp.y @@ -1452,7 +1452,7 @@ convert_char_literal (struct type *type, LONGEST val) if (type == NULL || TYPE_CODE (type) != TYPE_CODE_ENUM) return val; - sprintf (name, "QU%02x", (int) val); + xsnprintf (name, sizeof (name), "QU%02x", (int) val); for (f = 0; f < TYPE_NFIELDS (type); f += 1) { if (strcmp (name, TYPE_FIELD_NAME (type, f)) == 0) diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 6fa4cfa..54f2590 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -337,9 +337,7 @@ add_angle_brackets (const char *str) static char *result = NULL; xfree (result); - result = (char *) xmalloc ((strlen (str) + 3) * sizeof (char)); - - sprintf (result, "<%s>", str); + result = xstrprintf ("<%s>", str); return result; } @@ -1114,7 +1112,7 @@ Suppress: if (encoded[0] == '<') strcpy (decoded, encoded); else - sprintf (decoded, "<%s>", encoded); + xsnprintf (decoded, decoding_buffer_size, "<%s>", encoded); return decoded; } @@ -6609,13 +6607,14 @@ find_old_style_renaming_symbol (const char *name, struct block *block) function_name = function_name + 5; rename = (char *) alloca (rename_len * sizeof (char)); - sprintf (rename, "%s__%s___XR", function_name, name); + xsnprintf (rename, rename_len * sizeof (char), "%s__%s___XR", + function_name, name); } else { const int rename_len = strlen (name) + 6; rename = (char *) alloca (rename_len * sizeof (char)); - sprintf (rename, "%s___XR", name); + xsnprintf (rename, rename_len * sizeof (char), "%s___XR", name); } return ada_find_any_symbol (rename); @@ -7308,7 +7307,7 @@ ada_to_fixed_type_1 (struct type *type, const gdb_byte *valaddr, int xvz_found = 0; LONGEST size; - sprintf (xvz_name, "%s___XVZ", name); + xsnprintf (xvz_name, strlen (name) + 7, "%s___XVZ", name); size = get_int_var_value (xvz_name, &xvz_found); if (xvz_found && TYPE_LENGTH (fixed_record_type) != size) { @@ -7760,11 +7759,11 @@ ada_enum_name (const char *name) GROW_VECT (result, result_len, 16); if (isascii (v) && isprint (v)) - sprintf (result, "'%c'", v); + xsnprintf (result, result_len, "'%c'", v); else if (name[1] == 'U') - sprintf (result, "[\"%02x\"]", v); + xsnprintf (result, result_len, "[\"%02x\"]", v); else - sprintf (result, "[\"%04x\"]", v); + xsnprintf (result, result_len, "[\"%04x\"]", v); return result; } |