X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Femail.c;fp=src%2Femail.c;h=b4a5e8114ac7b613b1a4903c877cb8f7a54000e5;hp=b7a5bcad24414538a07054ebac05dad52e9ec4a9;hb=f9953afbfc53862e81c5c4e3527afd76df7648cd;hpb=6c082e955466f0c451d608fb3cbb31481c02fa37 diff --git a/src/email.c b/src/email.c index b7a5bcad..b4a5e811 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) {