X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Funixsock.c;h=a42456896ef0142765a8f44ef0a30dd5679cfb71;hb=eeca9dc658dfa9ed3c8bfea609fa0a82f9326874;hp=32fa9bc7ddbb003715089a891e5fd522c7e70ed8;hpb=f374b72032a227a75b6bc9ae574cd28abbc16f24;p=collectd.git diff --git a/src/unixsock.c b/src/unixsock.c index 32fa9bc7..a4245689 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;