[libvirt] [PATCH] virpidfile: Allow whitespace character on the end of pidfile

Daniel Veillard veillard at redhat.com
Mon Feb 13 13:42:34 UTC 2012


On Mon, Feb 13, 2012 at 02:29:44PM +0100, Michal Privoznik wrote:
> Some programs, notably dnsmasq, which are writing pidfiles on their
> own do append a whitespace character after pid, e.g. '\n'.
> ---
>  src/util/virpidfile.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/util/virpidfile.c b/src/util/virpidfile.c
> index 34d1250..9c29967 100644
> --- a/src/util/virpidfile.c
> +++ b/src/util/virpidfile.c
> @@ -34,7 +34,7 @@
>  #include "intprops.h"
>  #include "logging.h"
>  #include "virterror_internal.h"
> -
> +#include "c-ctype.h"
>  
>  #define VIR_FROM_THIS VIR_FROM_NONE
>  
> @@ -119,6 +119,7 @@ int virPidFileReadPath(const char *path,
>      ssize_t bytes;
>      long long pid_value = 0;
>      char pidstr[INT_BUFSIZE_BOUND(pid_value)];
> +    char *endptr = NULL;
>  
>      *pid = 0;
>  
> @@ -135,7 +136,8 @@ int virPidFileReadPath(const char *path,
>      }
>      pidstr[bytes] = '\0';
>  
> -    if (virStrToLong_ll(pidstr, NULL, 10, &pid_value) < 0 ||
> +    if (virStrToLong_ll(pidstr, &endptr, 10, &pid_value) < 0 ||
> +        !(*endptr == '\0' || c_isspace(*endptr)) ||
>          (pid_t) pid_value != pid_value) {
>          rc = -1;
>          goto cleanup;

  Okay, thanks for chasing this last minute issue, ACK

  please push :-)

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list