Message ID | 1452784011-73931-2-git-send-email-roger.pau@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 1/14/16 9:06 AM, Roger Pau Monne wrote: > If sysconf(_SC_GETPW_R_SIZE_MAX) fails for any reason just use an initial > buffer size of 2048. This is not a critical failure, and the code that > makes use of this buffer is able to expand it later if required. > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > --- > Cc: Ian Jackson <ian.jackson@eu.citrix.com> > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > Cc: Ian Campbell <ian.campbell@citrix.com> > Cc: Wei Liu <wei.liu2@citrix.com> > --- > Changes since v1: > - Use a default buffer size if sysconf(_SC_GETPW_R_SIZE_MAX) fails for any > reason, this should not be a critical failure. > --- > tools/libxl/libxl_dm.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c > index 0aaefd9..a088d71 100644 > --- a/tools/libxl/libxl_dm.c > +++ b/tools/libxl/libxl_dm.c > @@ -730,9 +730,10 @@ static int libxl__dm_runas_helper(libxl__gc *gc, const char *username) > > buf_size = sysconf(_SC_GETPW_R_SIZE_MAX); > if (buf_size < 0) { > - LOGE(ERROR, "sysconf(_SC_GETPW_R_SIZE_MAX) returned error %ld", > - buf_size); > - return ERROR_FAIL; > + buf_size = 2048; > + LOG(DEBUG, > +"sysconf(_SC_GETPW_R_SIZE_MAX) failed, setting the initial buffer size to %ld", > + buf_size); > } > > while (1) { > Looks sane to me. Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
On Thu, 2016-01-14 at 16:06 +0100, Roger Pau Monne wrote: > If sysconf(_SC_GETPW_R_SIZE_MAX) fails for any reason just use an initial > buffer size of 2048. This is not a critical failure, and the code that > makes use of this buffer is able to expand it later if required. > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > --- > Cc: Ian Jackson <ian.jackson@eu.citrix.com> > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > Cc: Ian Campbell <ian.campbell@citrix.com> > Cc: Wei Liu <wei.liu2@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Well done on your prescience on fixing all my comments on v1 before you'd even seen them! Applied. > --- > Changes since v1: > - Use a default buffer size if sysconf(_SC_GETPW_R_SIZE_MAX) fails for > any > reason, this should not be a critical failure. > --- > tools/libxl/libxl_dm.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c > index 0aaefd9..a088d71 100644 > --- a/tools/libxl/libxl_dm.c > +++ b/tools/libxl/libxl_dm.c > @@ -730,9 +730,10 @@ static int libxl__dm_runas_helper(libxl__gc *gc, > const char *username) > > buf_size = sysconf(_SC_GETPW_R_SIZE_MAX); > if (buf_size < 0) { > - LOGE(ERROR, "sysconf(_SC_GETPW_R_SIZE_MAX) returned error %ld", > - buf_size); > - return ERROR_FAIL; > + buf_size = 2048; > + LOG(DEBUG, > +"sysconf(_SC_GETPW_R_SIZE_MAX) failed, setting the initial buffer size > to %ld", > + buf_size); > } > > while (1) {
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 0aaefd9..a088d71 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -730,9 +730,10 @@ static int libxl__dm_runas_helper(libxl__gc *gc, const char *username) buf_size = sysconf(_SC_GETPW_R_SIZE_MAX); if (buf_size < 0) { - LOGE(ERROR, "sysconf(_SC_GETPW_R_SIZE_MAX) returned error %ld", - buf_size); - return ERROR_FAIL; + buf_size = 2048; + LOG(DEBUG, +"sysconf(_SC_GETPW_R_SIZE_MAX) failed, setting the initial buffer size to %ld", + buf_size); } while (1) {
If sysconf(_SC_GETPW_R_SIZE_MAX) fails for any reason just use an initial buffer size of 2048. This is not a critical failure, and the code that makes use of this buffer is able to expand it later if required. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> --- Cc: Ian Jackson <ian.jackson@eu.citrix.com> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Cc: Ian Campbell <ian.campbell@citrix.com> Cc: Wei Liu <wei.liu2@citrix.com> --- Changes since v1: - Use a default buffer size if sysconf(_SC_GETPW_R_SIZE_MAX) fails for any reason, this should not be a critical failure. --- tools/libxl/libxl_dm.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)