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....@citrix.com>
> ---
> Cc: Ian Jackson <ian.jack...@eu.citrix.com>
> Cc: Stefano Stabellini <stefano.stabell...@eu.citrix.com>
> Cc: Ian Campbell <ian.campb...@citrix.com>
> Cc: Wei Liu <wei.l...@citrix.com>

Acked-by: Ian Campbell <ian.campb...@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) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to