Mercurial > dovecot > core-2.2
changeset 13717:b0c0d11792fc
i_getgr*(): Use a generic workaround for all OSes that report too small grbuf size.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 16 Nov 2011 22:59:36 +0200 |
parents | 0a94dfe6ac92 |
children | f986b56d8e2a |
files | src/lib/ipwd.c |
diffstat | 1 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/ipwd.c Wed Nov 16 22:13:35 2011 +0200 +++ b/src/lib/ipwd.c Wed Nov 16 22:59:36 2011 +0200 @@ -31,11 +31,12 @@ long size; if (grbuf == NULL) { - /* OpenBSD up to 4.9 reports too low value in sysconf() */ -#if !defined(__OpenBSD__) || OpenBSD >= 201111 size = sysconf(_SC_GETGR_R_SIZE_MAX); - if (size < 0) -#endif + /* Some BSDs return too low value for this. instead of trying + to figure out exactly which, just make sure it's at least + a reasonable size. if the real size is smaller, it doesn't + matter much that we waste a few kilobytes of memory. */ + if (size < DEFAULT_GRBUF_SIZE) size = DEFAULT_GRBUF_SIZE; grbuf_size = size;