public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] sim: check asprintf return values
@ 2010-12-30 21:24 Mike Frysinger
  2011-01-12 18:15 ` Mike Frysinger
  0 siblings, 1 reply; 4+ messages in thread
From: Mike Frysinger @ 2010-12-30 21:24 UTC (permalink / raw)
  To: gdb-patches; +Cc: toolchain-devel

These are the last sources of build warnings (asprintf usage) that I see.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>

2010-12-30  Mike Frysinger  <vapier@gentoo.org>

	* sim-module.c (sim_pre_argv_init): Return SIM_RC_FAIL when asprintf
	fails.
	* sim-options.c (sim_parse_args): Issue an error and return SIM_RC_FAIL
	when asprintf fails.
	* sim-utils.c (sim_do_commandf): Issue an error and return when
	asprintf fails.
	* sim-watch.c (sim_watchpoint_install): Return SIM_RC_FAIL when
	asprintf fails.
---
 sim/common/sim-module.c  |    3 ++-
 sim/common/sim-options.c |    7 ++++++-
 sim/common/sim-utils.c   |    7 ++++++-
 sim/common/sim-watch.c   |    7 ++++---
 4 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/sim/common/sim-module.c b/sim/common/sim-module.c
index 0180d07..1c48b29 100644
--- a/sim/common/sim-module.c
+++ b/sim/common/sim-module.c
@@ -88,7 +88,8 @@ sim_pre_argv_init (SIM_DESC sd, const char *myname)
     for (i = 0; i < MAX_NR_PROCESSORS; ++i)
       {
 	char *name;
-	asprintf (&name, "cpu%d", i);
+	if (asprintf (&name, "cpu%d", i) < 0)
+	  return SIM_RC_FAIL;
 	CPU_NAME (STATE_CPU (sd, i)) = name;
       }
   }
diff --git a/sim/common/sim-options.c b/sim/common/sim-options.c
index c01cce5..2df91e3 100644
--- a/sim/common/sim-options.c
+++ b/sim/common/sim-options.c
@@ -621,7 +621,12 @@ sim_parse_args (SIM_DESC sd, char **argv)
 		char *name;
 		*lp = opt->opt;
 		/* Prepend --<cpuname>- to the option.  */
-		asprintf (&name, "%s-%s", CPU_NAME (cpu), lp->name);
+		if (asprintf (&name, "%s-%s", CPU_NAME (cpu), lp->name) < 0)
+		  {
+		    sim_io_eprintf (sd, "internal error, out of memory");
+		    result = SIM_RC_FAIL;
+		    break;
+		  }
 		lp->name = name;
 		/* Dynamically assign `val' numbers for long options. */
 		lp->val = i++;
diff --git a/sim/common/sim-utils.c b/sim/common/sim-utils.c
index 9f9104e..a50358a 100644
--- a/sim/common/sim-utils.c
+++ b/sim/common/sim-utils.c
@@ -336,7 +336,12 @@ sim_do_commandf (SIM_DESC sd,
   va_list ap;
   char *buf;
   va_start (ap, fmt);
-  vasprintf (&buf, fmt, ap);
+  if (vasprintf (&buf, fmt, ap) < 0)
+    {
+      sim_io_eprintf (sd, "%s: asprintf failed for `%s'\n",
+		      STATE_MY_NAME (sd), fmt);
+      return;
+    }
   sim_do_command (sd, buf);
   va_end (ap);
   free (buf);
diff --git a/sim/common/sim-watch.c b/sim/common/sim-watch.c
index 1bf2703..c1d33be 100644
--- a/sim/common/sim-watch.c
+++ b/sim/common/sim-watch.c
@@ -411,9 +411,10 @@ sim_watchpoint_install (SIM_DESC sd)
 	    char *name;
 	    int nr = interrupt_nr * nr_watchpoint_types + type;
 	    OPTION *option = &int_options[nr];
-	    asprintf (&name, "watch-%s-%s",
-		      watchpoint_type_to_str (sd, type),
-		      interrupt_nr_to_str (sd, interrupt_nr));
+	    if (asprintf (&name, "watch-%s-%s",
+			  watchpoint_type_to_str (sd, type),
+			  interrupt_nr_to_str (sd, interrupt_nr)) < 0)
+	      return SIM_RC_FAIL;
 	    option->opt.name = name;
 	    option->opt.has_arg = required_argument;
 	    option->opt.val = type_to_option (sd, type, interrupt_nr);
-- 
1.7.3.1

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] sim: check asprintf return values
  2010-12-30 21:24 [PATCH] sim: check asprintf return values Mike Frysinger
@ 2011-01-12 18:15 ` Mike Frysinger
  2011-01-12 21:24   ` Joel Brobecker
  0 siblings, 1 reply; 4+ messages in thread
From: Mike Frysinger @ 2011-01-12 18:15 UTC (permalink / raw)
  To: gdb-patches; +Cc: toolchain-devel

[-- Attachment #1: Type: Text/Plain, Size: 610 bytes --]

On Thursday, December 30, 2010 16:08:31 Mike Frysinger wrote:
> These are the last sources of build warnings (asprintf usage) that I see.
> 2010-12-30  Mike Frysinger  <vapier@gentoo.org>
> 
> 	* sim-module.c (sim_pre_argv_init): Return SIM_RC_FAIL when asprintf
> 	fails.
> 	* sim-options.c (sim_parse_args): Issue an error and return SIM_RC_FAIL
> 	when asprintf fails.
> 	* sim-utils.c (sim_do_commandf): Issue an error and return when
> 	asprintf fails.
> 	* sim-watch.c (sim_watchpoint_install): Return SIM_RC_FAIL when
> 	asprintf fails.

i guess this one i could merge as obvious ?
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] sim: check asprintf return values
  2011-01-12 18:15 ` Mike Frysinger
@ 2011-01-12 21:24   ` Joel Brobecker
  2011-01-12 22:05     ` Mike Frysinger
  0 siblings, 1 reply; 4+ messages in thread
From: Joel Brobecker @ 2011-01-12 21:24 UTC (permalink / raw)
  To: Mike Frysinger; +Cc: gdb-patches, toolchain-devel

> > 	* sim-module.c (sim_pre_argv_init): Return SIM_RC_FAIL when asprintf
> > 	fails.
> > 	* sim-options.c (sim_parse_args): Issue an error and return SIM_RC_FAIL
> > 	when asprintf fails.
> > 	* sim-utils.c (sim_do_commandf): Issue an error and return when
> > 	asprintf fails.
> > 	* sim-watch.c (sim_watchpoint_install): Return SIM_RC_FAIL when
> > 	asprintf fails.

Sorry for the delay in the review. This looks OK to me.

-- 
Joel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] sim: check asprintf return values
  2011-01-12 21:24   ` Joel Brobecker
@ 2011-01-12 22:05     ` Mike Frysinger
  0 siblings, 0 replies; 4+ messages in thread
From: Mike Frysinger @ 2011-01-12 22:05 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: gdb-patches, toolchain-devel

[-- Attachment #1: Type: Text/Plain, Size: 563 bytes --]

On Wednesday, January 12, 2011 16:23:11 Joel Brobecker wrote:
> > > 	* sim-module.c (sim_pre_argv_init): Return SIM_RC_FAIL when asprintf
> > > 	fails.
> > > 	* sim-options.c (sim_parse_args): Issue an error and return
> > > 	SIM_RC_FAIL when asprintf fails.
> > > 	* sim-utils.c (sim_do_commandf): Issue an error and return when
> > > 	asprintf fails.
> > > 	* sim-watch.c (sim_watchpoint_install): Return SIM_RC_FAIL when
> > > 	asprintf fails.
> 
> Sorry for the delay in the review. This looks OK to me.

thanks ... i've committed it then
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-01-12 21:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-30 21:24 [PATCH] sim: check asprintf return values Mike Frysinger
2011-01-12 18:15 ` Mike Frysinger
2011-01-12 21:24   ` Joel Brobecker
2011-01-12 22:05     ` Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).