From: Florian Zumbiehl Date: Sat, 29 Aug 2009 14:25:47 +0000 (+0200) Subject: util_lookup_group(): fix memory leak if realloc() fails X-Git-Tag: 174~808 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=72c0373f795a5c326e6bd0f7469601f492124d70 util_lookup_group(): fix memory leak if realloc() fails --- diff --git a/libudev/libudev-util-private.c b/libudev/libudev-util-private.c index 5b5ecb1f5..b33ee79d6 100644 --- a/libudev/libudev-util-private.c +++ b/libudev/libudev-util-private.c @@ -154,9 +154,12 @@ gid_t util_lookup_group(struct udev *udev, const char *group) buf = NULL; gid = 0; for (;;) { - buf = realloc(buf, buflen); - if (!buf) + char *newbuf; + + newbuf = realloc(buf, buflen); + if (!newbuf) break; + buf = newbuf; errno = getgrnam_r(group, &grbuf, buf, buflen, &gr); if (gr != NULL) { gid = gr->gr_gid;