[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 1/2] libxl: fix _SC_GETPW_R_SIZE_MAX usage
According to the FreeBSD sysconf man page [0] if the variable is associated with functionality that is not supported, -1 is returned and errno is not modified. Modify libxl__dm_runas_helper so it's able to correctly deal with this situation by setting the initial buffer value to 2048. [0] https://www.freebsd.org/cgi/man.cgi?query=sysconf Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx> --- tools/libxl/libxl_dm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 0aaefd9..ec8fb51 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -728,7 +728,14 @@ static int libxl__dm_runas_helper(libxl__gc *gc, const char *username) long buf_size; int ret; + errno = 0; buf_size = sysconf(_SC_GETPW_R_SIZE_MAX); + if (buf_size < 0 && errno == 0) { + buf_size = 2048; + LOG(DEBUG, +"sysconf(_SC_GETPW_R_SIZE_MAX) is not supported, using a buffer size of %ld", + buf_size); + } if (buf_size < 0) { LOGE(ERROR, "sysconf(_SC_GETPW_R_SIZE_MAX) returned error %ld", buf_size); -- 1.9.5 (Apple Git-50.3) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |