X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Femail.c;h=00e7413d8601deddd37be261b4bedf00adc8c265;hb=8fd8f76dc11064e75e44448d16d35e09e46191a2;hp=e5f015b2539b6d91e25d4f95e5c9b38bc2ef97cf;hpb=af12cc40e48331f8c98294239cef60393218a46d;p=collectd.git diff --git a/src/email.c b/src/email.c index e5f015b2..00e7413d 100644 --- a/src/email.c +++ b/src/email.c @@ -402,9 +402,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) {