From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25518 invoked by alias); 11 Nov 2012 23:11:38 -0000 Received: (qmail 25509 invoked by uid 22791); 11 Nov 2012 23:11:37 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,MSGID_MULTIPLE_AT X-Spam-Check-By: sourceware.org Received: from mailhost.u-strasbg.fr (HELO mailhost.u-strasbg.fr) (130.79.200.154) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 11 Nov 2012 23:11:29 +0000 Received: from md15.u-strasbg.fr (md15.u-strasbg.fr [130.79.200.204]) by mailhost.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id qABNBIOI068397 ; Mon, 12 Nov 2012 00:11:19 +0100 (CET) (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from mailserver.u-strasbg.fr (ms13.u-strasbg.fr [130.79.204.113]) by md15.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id qABNBGC1019803 ; Mon, 12 Nov 2012 00:11:17 +0100 (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from E6510Muller (lec67-4-82-230-53-140.fbx.proxad.net [82.230.53.140]) (user=mullerp mech=LOGIN) by mailserver.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id qABNBEPw001105 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO) ; Mon, 12 Nov 2012 00:11:15 +0100 (envelope-from pierre.muller@ics-cnrs.unistra.fr) From: "Pierre Muller" To: "'Tom Tromey'" , "'Andreas Schwab'" Cc: References: <4297.05661158568$1352387430@news.gmane.org> <87d2znhj7t.fsf@fleche.redhat.com> In-Reply-To: <87d2znhj7t.fsf@fleche.redhat.com> Subject: [RFA-v2] ARI fixes: Remove some sprintf calls Date: Sun, 11 Nov 2012 23:11:00 -0000 Message-ID: <000001cdc061$dad58740$908095c0$@muller@ics-cnrs.unistra.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0001_01CDC06A.3C99EF40" Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-11/txt/msg00278.txt.bz2 This is a multi-part message in MIME format. ------=_NextPart_000_0001_01CDC06A.3C99EF40 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 2460 > -----Message d'origine----- > De=A0: gdb-patches-owner@sourceware.org [mailto:gdb-patches- > owner@sourceware.org] De la part de Tom Tromey > Envoy=E9=A0: jeudi 8 novembre 2012 22:35 > =C0=A0: Pierre Muller > Cc=A0: gdb-patches@sourceware.org > Objet=A0: Re: [RFA] ARI fixes: Remove some sprintf calls >=20 > >>>>> "Pierre" =3D=3D Pierre Muller writes: >=20 > Pierre> I do not commit this as obvious because, > Pierre> I had to add some local variables to simplify > Pierre> things for several cases. >=20 > Pierre> Is this OK? >=20 > I like Andreas' suggestion. Me too, implemented below... Thanks for the suggestion. It's of course much better to have the size explicitly only at one location, to avoid problems later. =20 > Also: >=20 > Pierre> +++ windows-nat.c 8 Nov 2012 15:03:15 -0000 > Pierre> @@ -613,6 +613,7 @@ struct safe_symbol_file_add_args > Pierre> struct lm_info > Pierre> { > Pierre> LPVOID load_addr; > Pierre> + unsigned long text_offset; > Pierre> }; >=20 > Pierre> static struct so_list solib_start, *solib_end; > Pierre> @@ -778,6 +779,7 @@ windows_make_so (const char *name, LPVOI > Pierre> } > Pierre> #endif >=20 > Pierre> + > Pierre> return so; > Pierre> } >=20 > These hunks don't seem related to the patch. =20=20 I am lucky not to have committed it as obvious... Once again, I forgot that I had local, unsubmitted changes lying around. Hopefully fixes in this second version. Is that one OK? Pierre Muller 2012-11-11 Pierre Muller ARI fixes: Avoid sprintf function use rule. * charset.c (convert_between_encodings): Use xsnprintf. * cli-out.c (cli_field_int): Likewise. * cp-namespace.c (cp_lookup_nested_symbol): Likewise. * expprint.c (op_name_standard): Likewise. * frv-tdep.c (set_variant_num_gprs): Likewise. (set_variant_num_fprs): Likewise. * m68hc11-tdep.c (m68hc11_initialize_register_info): Likewise. * nto-tdep.c (nto_find_and_open_solib): Likewise. (nto_init_solib_absolute_prefix): Likewise. * source.c (init_source_path): Likewise. (print_source_lines_base): Likewise. * valprint.c (print_wchar): Likewise. * mi/mi-out.c (mi_field_int): Likewise. windows-nat.c (windows_pid_to_exec_file): Likewise. (windows_create_inferior): Likewise. (_initialize_check_for_gdb_ini): Likewise. ------=_NextPart_000_0001_01CDC06A.3C99EF40 Content-Type: application/octet-stream; name="sprintf-v1.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="sprintf-v1.patch" Content-length: 15220 projecttype:gdb=0A= revision:HEAD=0A= email:muller@ics.u-strasbg.fr=0A= =0A= 2012-11-11 Pierre Muller =0A= =0A= ARI fixes: Avoid sprintf function use rule.=0A= * charset.c (convert_between_encodings): Use xsnprintf.=0A= * cli-out.c (cli_field_int): Likewise.=0A= * cp-namespace.c (cp_lookup_nested_symbol): Likewise.=0A= * expprint.c (op_name_standard): Likewise.=0A= * frv-tdep.c (set_variant_num_gprs): Likewise.=0A= (set_variant_num_fprs): Likewise.=0A= * m68hc11-tdep.c (m68hc11_initialize_register_info): Likewise.=0A= * nto-tdep.c (nto_find_and_open_solib): Likewise.=0A= (nto_init_solib_absolute_prefix): Likewise.=0A= * source.c (init_source_path): Likewise.=0A= (print_source_lines_base): Likewise.=0A= * valprint.c (print_wchar): Likewise.=0A= * mi/mi-out.c (mi_field_int): Likewise.=0A= windows-nat.c (windows_pid_to_exec_file): Likewise.=0A= (windows_create_inferior): Likewise.=0A= (_initialize_check_for_gdb_ini): Likewise.=0A= =0A= Index: charset.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/charset.c,v=0A= retrieving revision 1.50=0A= diff -u -p -r1.50 charset.c=0A= --- charset.c 17 Apr 2012 15:47:09 -0000 1.50=0A= +++ charset.c 11 Nov 2012 22:42:46 -0000=0A= @@ -531,7 +531,7 @@ convert_between_encodings (const char *f=0A= {=0A= char octal[5];=0A= =20=0A= - sprintf (octal, "\\%.3o", *inp & 0xff);=0A= + xsnprintf (octal, sizeof (octal), "\\%.3o", *inp & 0xff);=0A= obstack_grow_str (output, octal);=0A= =20=0A= ++inp;=0A= Index: cli-out.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/cli-out.c,v=0A= retrieving revision 1.34=0A= diff -u -p -r1.34 cli-out.c=0A= --- cli-out.c 4 Jan 2012 08:17:00 -0000 1.34=0A= +++ cli-out.c 11 Nov 2012 22:42:46 -0000=0A= @@ -139,7 +139,7 @@ cli_field_int (struct ui_out *uiout, int=0A= =20=0A= if (data->suppress_output)=0A= return;=0A= - sprintf (buffer, "%d", value);=0A= + xsnprintf (buffer, sizeof (buffer), "%d", value);=0A= =20=0A= /* Always go through the function pointer (virtual function call).=0A= We may have been extended. */=0A= Index: cp-namespace.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/cp-namespace.c,v=0A= retrieving revision 1.58=0A= diff -u -p -r1.58 cp-namespace.c=0A= --- cp-namespace.c 13 Jun 2012 16:10:07 -0000 1.58=0A= +++ cp-namespace.c 11 Nov 2012 22:42:46 -0000=0A= @@ -688,6 +688,7 @@ cp_lookup_nested_symbol (struct type *pa=0A= just like members of namespaces; in particular,=0A= lookup_symbol_namespace works when looking them up. */=0A= =20=0A= + int size;=0A= const char *parent_name =3D type_name_no_tag_or_error (saved_parent_type)= ;=0A= struct symbol *sym=0A= =3D cp_lookup_symbol_in_namespace (parent_name, nested_name,=0A= @@ -703,9 +704,9 @@ cp_lookup_nested_symbol (struct type *pa=0A= namespace seach is is already not C++ compliant and more=0A= assumptions could make it too magic. */=0A= =20=0A= - concatenated_name =3D alloca (strlen (parent_name) + 2=0A= - + strlen (nested_name) + 1);=0A= - sprintf (concatenated_name, "%s::%s",=0A= + size =3D strlen (parent_name) + 2 + strlen (nested_name) + 1;=0A= + concatenated_name =3D alloca (size);=0A= + xsnprintf (concatenated_name, size, "%s::%s",=0A= parent_name, nested_name);=0A= sym =3D lookup_static_symbol_aux (concatenated_name, VAR_DOMAIN);=0A= if (sym !=3D NULL)=0A= Index: expprint.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/expprint.c,v=0A= retrieving revision 1.62=0A= diff -u -p -r1.62 expprint.c=0A= --- expprint.c 2 Nov 2012 00:14:37 -0000 1.62=0A= +++ expprint.c 11 Nov 2012 22:42:46 -0000=0A= @@ -670,7 +670,7 @@ op_name_standard (enum exp_opcode opcode=0A= {=0A= static char buf[30];=0A= =20=0A= - sprintf (buf, "", opcode);=0A= + xsnprintf (buf, sizeof (buf), "", opcode);=0A= return buf;=0A= }=0A= #define OP(name) \=0A= Index: frv-tdep.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/frv-tdep.c,v=0A= retrieving revision 1.138=0A= diff -u -p -r1.138 frv-tdep.c=0A= --- frv-tdep.c 18 May 2012 21:02:47 -0000 1.138=0A= +++ frv-tdep.c 11 Nov 2012 22:42:46 -0000=0A= @@ -233,7 +233,7 @@ set_variant_num_gprs (struct gdbarch_tde=0A= {=0A= char buf[20];=0A= =20=0A= - sprintf (buf, "gr%d", r);=0A= + xsnprintf (buf, sizeof (buf), "gr%d", r);=0A= var->register_names[first_gpr_regnum + r] =3D xstrdup (buf);=0A= }=0A= }=0A= @@ -252,7 +252,7 @@ set_variant_num_fprs (struct gdbarch_tde=0A= {=0A= char buf[20];=0A= =20=0A= - sprintf (buf, "fr%d", r);=0A= + xsnprintf (buf, sizeof (buf), "fr%d", r);=0A= var->register_names[first_fpr_regnum + r] =3D xstrdup (buf);=0A= }=0A= }=0A= Index: m68hc11-tdep.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/m68hc11-tdep.c,v=0A= retrieving revision 1.140=0A= diff -u -p -r1.140 m68hc11-tdep.c=0A= --- m68hc11-tdep.c 25 Sep 2012 12:48:53 -0000 1.140=0A= +++ m68hc11-tdep.c 11 Nov 2012 22:42:47 -0000=0A= @@ -247,7 +247,7 @@ m68hc11_initialize_register_info (void)=0A= {=0A= char buf[10];=0A= =20=0A= - sprintf (buf, "_.d%d", i - SOFT_D1_REGNUM + 1);=0A= + xsnprintf (buf, sizeof (buf), "_.d%d", i - SOFT_D1_REGNUM + 1);=0A= m68hc11_get_register_info (&soft_regs[i], buf);=0A= }=0A= =20=0A= Index: nto-tdep.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/nto-tdep.c,v=0A= retrieving revision 1.46=0A= diff -u -p -r1.46 nto-tdep.c=0A= --- nto-tdep.c 9 Nov 2012 19:58:00 -0000 1.46=0A= +++ nto-tdep.c 11 Nov 2012 22:42:47 -0000=0A= @@ -89,7 +89,7 @@ nto_find_and_open_solib (char *solib, un=0A= char *buf, *arch_path, *nto_root, *endian;=0A= const char *base;=0A= const char *arch;=0A= - int ret;=0A= + int archlen, len, ret;=0A= #define PATH_FMT \=0A= "%s/lib:%s/usr/lib:%s/usr/photon/lib:%s/usr/photon/dll:%s/lib/dll"=0A= =20=0A= @@ -116,20 +116,22 @@ nto_find_and_open_solib (char *solib, un=0A= =20=0A= /* In case nto_root is short, add strlen(solib)=0A= so we can reuse arch_path below. */=0A= - arch_path =3D=0A= - alloca (strlen (nto_root) + strlen (arch) + strlen (endian) + 2 +=0A= - strlen (solib));=0A= - sprintf (arch_path, "%s/%s%s", nto_root, arch, endian);=0A= -=0A= - buf =3D alloca (strlen (PATH_FMT) + strlen (arch_path) * 5 + 1);=0A= - sprintf (buf, PATH_FMT, arch_path, arch_path, arch_path, arch_path,=0A= - arch_path);=0A= +=0A= + archlen =3D strlen (nto_root) + strlen (arch) + strlen (endian) + 2=0A= + + strlen (solib);=0A= + arch_path =3D alloca (archlen);=0A= + xsnprintf (arch_path, archlen, "%s/%s%s", nto_root, arch, endian);=0A= +=0A= + len =3D strlen (PATH_FMT) + strlen (arch_path) * 5 + 1;=0A= + buf =3D alloca (len);=0A= + xsnprintf (buf, len, PATH_FMT, arch_path, arch_path, arch_path, arch_pat= h,=0A= + arch_path);=0A= =20=0A= base =3D lbasename (solib);=0A= ret =3D openp (buf, 1, base, o_flags, temp_pathname);=0A= if (ret < 0 && base !=3D solib)=0A= {=0A= - sprintf (arch_path, "/%s", solib);=0A= + xsnprintf (arch_path, archlen, "/%s", solib);=0A= ret =3D open (arch_path, o_flags, 0);=0A= if (temp_pathname)=0A= {=0A= @@ -170,9 +172,9 @@ nto_init_solib_absolute_prefix (void)=0A= =3D=3D BFD_ENDIAN_BIG ? "be" : "le";=0A= }=0A= =20=0A= - sprintf (arch_path, "%s/%s%s", nto_root, arch, endian);=0A= + xsnprintf (arch_path, sizeof (arch_path), "%s/%s%s", nto_root, arch, end= ian);=0A= =20=0A= - sprintf (buf, "set solib-absolute-prefix %s", arch_path);=0A= + xsnprintf (buf, sizeof (buf), "set solib-absolute-prefix %s", arch_path)= ;=0A= execute_command (buf, 0);=0A= }=0A= =20=0A= Index: source.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/source.c,v=0A= retrieving revision 1.140=0A= diff -u -p -r1.140 source.c=0A= --- source.c 9 Nov 2012 13:23:32 -0000 1.140=0A= +++ source.c 11 Nov 2012 22:42:48 -0000=0A= @@ -384,7 +384,7 @@ init_source_path (void)=0A= {=0A= char buf[20];=0A= =20=0A= - sprintf (buf, "$cdir%c$cwd", DIRNAME_SEPARATOR);=0A= + xsnprintf (buf, sizeof (buf), "$cdir%c$cwd", DIRNAME_SEPARATOR);=0A= source_path =3D xstrdup (buf);=0A= forget_cached_source_info ();=0A= }=0A= @@ -1292,8 +1292,9 @@ print_source_lines_base (struct symtab *=0A= =20=0A= if (!noerror)=0A= {=0A= - char *name =3D alloca (strlen (s->filename) + 100);=0A= - sprintf (name, "%d\t%s", line, s->filename);=0A= + int len =3D strlen (s->filename) + 100;=0A= + char *name =3D alloca (len);=0A= + xsnprintf (name, len, "%d\t%s", line, s->filename);=0A= print_sys_errmsg (name, errno);=0A= }=0A= else=0A= @@ -1344,13 +1345,13 @@ print_source_lines_base (struct symtab *=0A= if (c =3D=3D EOF)=0A= break;=0A= last_line_listed =3D current_source_line;=0A= - sprintf (buf, "%d\t", current_source_line++);=0A= + xsnprintf (buf, sizeof (buf), "%d\t", current_source_line++);=0A= ui_out_text (uiout, buf);=0A= do=0A= {=0A= if (c < 040 && c !=3D '\t' && c !=3D '\n' && c !=3D '\r')=0A= {=0A= - sprintf (buf, "^%c", c + 0100);=0A= + xsnprintf (buf, sizeof (buf), "^%c", c + 0100);=0A= ui_out_text (uiout, buf);=0A= }=0A= else if (c =3D=3D 0177)=0A= @@ -1367,7 +1368,7 @@ print_source_lines_base (struct symtab *=0A= }=0A= else=0A= {=0A= - sprintf (buf, "%c", c);=0A= + xsnprintf (buf, sizeof (buf), "%c", c);=0A= ui_out_text (uiout, buf);=0A= }=0A= }=0A= Index: valprint.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/valprint.c,v=0A= retrieving revision 1.130=0A= diff -u -p -r1.130 valprint.c=0A= --- valprint.c 10 Nov 2012 20:19:00 -0000 1.130=0A= +++ valprint.c 11 Nov 2012 22:42:49 -0000=0A= @@ -1974,9 +1974,10 @@ print_wchar (gdb_wint_t w, const gdb_byt=0A= /* If the value fits in 3 octal digits, print it that=0A= way. Otherwise, print it as a hex escape. */=0A= if (value <=3D 0777)=0A= - sprintf (octal, "\\%.3o", (int) (value & 0777));=0A= + xsnprintf (octal, sizeof (octal), "\\%.3o",=0A= + (int) (value & 0777));=0A= else=0A= - sprintf (octal, "\\x%lx", (long) value);=0A= + xsnprintf (octal, sizeof (octal), "\\x%lx", (long) value);=0A= append_string_as_wide (octal, output);=0A= }=0A= /* If we somehow have extra bytes, print them now. */=0A= @@ -1984,7 +1985,7 @@ print_wchar (gdb_wint_t w, const gdb_byt=0A= {=0A= char octal[5];=0A= =20=0A= - sprintf (octal, "\\%.3o", orig[i] & 0xff);=0A= + xsnprintf (octal, sizeof (octal), "\\%.3o", orig[i] & 0xff);=0A= append_string_as_wide (octal, output);=0A= ++i;=0A= }=0A= Index: mi/mi-out.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/mi/mi-out.c,v=0A= retrieving revision 1.43=0A= diff -u -p -r1.43 mi-out.c=0A= --- mi/mi-out.c 6 Mar 2012 22:48:53 -0000 1.43=0A= +++ mi/mi-out.c 11 Nov 2012 22:42:49 -0000=0A= @@ -198,7 +198,7 @@ mi_field_int (struct ui_out *uiout, int=20=0A= if (data->suppress_output)=0A= return;=0A= =20=0A= - sprintf (buffer, "%d", value);=0A= + xsnprintf (buffer, sizeof (buffer), "%d", value);=0A= mi_field_string (uiout, fldno, width, alignment, fldname, buffer);=0A= }=0A= =20=0A= Index: windows-nat.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/gdb/windows-nat.c,v=0A= retrieving revision 1.235=0A= diff -u -p -r1.235 windows-nat.c=0A= --- windows-nat.c 9 Nov 2012 19:58:02 -0000 1.235=0A= +++ windows-nat.c 11 Nov 2012 22:51:49 -0000=0A= @@ -1895,7 +1895,7 @@ windows_pid_to_exec_file (int pid)=0A= /* Try to find exe name as symlink target of /proc//exe. */=0A= int nchars;=0A= char procexe[sizeof ("/proc/4294967295/exe")];=0A= - sprintf (procexe, "/proc/%u/exe", pid);=0A= + xsnprintf (procexe, sizeof (procexe), "/proc/%u/exe", pid);=0A= nchars =3D readlink (procexe, path, sizeof(path));=0A= if (nchars > 0 && nchars < sizeof (path))=0A= {=0A= @@ -2093,10 +2093,10 @@ windows_create_inferior (struct target_o=0A= cygallargs =3D (wchar_t *) alloca (len * sizeof (wchar_t));=0A= swprintf (cygallargs, len, L" -c 'exec %s %s'", exec_file, allargs);= =0A= #else=0A= - cygallargs =3D (char *)=0A= - alloca (sizeof (" -c 'exec '") + strlen (exec_file)=0A= - + strlen (allargs) + 2);=0A= - sprintf (cygallargs, " -c 'exec %s %s'", exec_file, allargs);=0A= + len =3D sizeof (" -c 'exec '") + strlen (exec_file)=0A= + + strlen (allargs) + 2;=0A= + cygallargs =3D (char *) alloca (len);=0A= + xsnprintf (cygallargs, len, " -c 'exec %s %s'", exec_file, allargs);= =0A= #endif=0A= toexec =3D shell;=0A= flags |=3D DEBUG_PROCESS;=0A= @@ -2724,8 +2724,8 @@ _initialize_check_for_gdb_ini (void)=0A= {=0A= int len =3D strlen (oldini);=0A= char *newini =3D alloca (len + 1);=0A= - sprintf (newini, "%.*s.gdbinit",=0A= - (int) (len - (sizeof ("gdb.ini") - 1)), oldini);=0A= + xsnprintf (newini, len + 1, "%.*s.gdbinit",=0A= + (int) (len - (sizeof ("gdb.ini") - 1)), oldini);=0A= warning (_("obsolete '%s' found. Rename to '%s'."), oldini, newini);=0A= }=0A= }=0A= ------=_NextPart_000_0001_01CDC06A.3C99EF40--