X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Funixsock.c;h=99e39eee4f39f0a771408c8a08bf09c750857282;hp=00b930e660f0c126d9db15e0658e8c4c50f14bb3;hb=1159cb5d383c55a80a0db100b8f7aadcf44740a5;hpb=b2543fd12ea900377dc0939c5221f76b893e7f55 diff --git a/src/unixsock.c b/src/unixsock.c index 00b930e6..99e39eee 100644 --- a/src/unixsock.c +++ b/src/unixsock.c @@ -134,7 +134,13 @@ static int us_open_socket(void) { const char *grpname; struct group *g; struct group sg; - char grbuf[4096]; + + 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]; grpname = (sock_group != NULL) ? sock_group : COLLECTD_GRP_NAME; g = NULL;