linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Check realloc return value in udev collect utility
@ 2008-06-17 22:47 Tobias Klauser
  2008-06-18  8:15 ` Kay Sievers
  0 siblings, 1 reply; 2+ messages in thread
From: Tobias Klauser @ 2008-06-17 22:47 UTC (permalink / raw)
  To: linux-hotplug

Hi,

In extras/collect/collect.c a recent commit introduced reallocation of a
buffer. Though the return value of realloc() is not checked. The
attached patch fixes this and also changes the data type of bufsize to
size_t which makes more sense and silences a GCC warning about comparing
unsigned and signed integers.

Cheers, Tobias

diff --git a/extras/collect/collect.c b/extras/collect/collect.c
index feb0e75..9fb6737 100644
--- a/extras/collect/collect.c
+++ b/extras/collect/collect.c
@@ -53,7 +53,7 @@ static LIST_HEAD(bunch);
 static int debug;
 
 /* This can increase dynamically */
-static int bufsize = BUFSIZE;
+static size_t bufsize = BUFSIZE;
 
 static void sig_alrm(int signo)
 {
@@ -272,8 +272,15 @@ static int missing(int fd)
 			ret++;
 		} else {
 			while (strlen(him->name)+1 >= bufsize) {
+				char *tmpbuf;
+
 				bufsize = bufsize << 1;
-				buf = realloc(buf, bufsize);
+				tmpbuf = realloc(buf, bufsize);
+				if (!tmpbuf) {
+					free(buf);
+					return -1;
+				}
+				buf = tmpbuf;
 			}
 			snprintf(buf, strlen(him->name)+2, "%s ", him->name);
 			write(fd, buf, strlen(buf));

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

end of thread, other threads:[~2008-06-18  8:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-17 22:47 [PATCH] Check realloc return value in udev collect utility Tobias Klauser
2008-06-18  8:15 ` Kay Sievers

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 NNTP newsgroup(s).