projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
email, exec and unixsock plugins: Use _SC_GETPW_R_SIZE_MAX.
[collectd.git]
/
src
/
email.c
diff --git
a/src/email.c
b/src/email.c
index
b7a5bca
..
b4a5e81
100644
(file)
--- 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;
{
struct group sg;
struct group *grp;
- char grbuf[4096];
int status;
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) {
grp = NULL;
status = getgrnam_r(group, &sg, grbuf, sizeof(grbuf), &grp);
if (status != 0) {