X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Femail.c;h=d1df0a12ce040065685e84a1862653bcf1b83e56;hb=e21b137ec98244a6dc8da6898504ec3763a2ce13;hp=50f766269368059f4047b3821a5f438407a6768f;hpb=01d23e3f5daf016d03f82d92a76be2fe3decdca4;p=collectd.git diff --git a/src/email.c b/src/email.c index 50f76626..d1df0a12 100644 --- a/src/email.c +++ b/src/email.c @@ -403,9 +403,15 @@ static void *open_connection(void __attribute__((unused)) * arg) { { struct group sg; struct group *grp; - char grbuf[4096]; int status; + long int grbuf_size = sysconf(_SC_GETGR_R_SIZE_MAX); + if (grbuf_size <= 0) + grbuf_size = sysconf(_SC_PAGESIZE); + if (grbuf_size <= 0) + grbuf_size = 4096; + char grbuf[grbuf_size]; + grp = NULL; status = getgrnam_r(group, &sg, grbuf, sizeof(grbuf), &grp); if (status != 0) {