* [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).