[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] libxc: Fix buffer length for get_suspend_file



On Tue, 2014-03-18 at 13:54 +0000, Ian Jackson wrote:
> Declaring a formal parameter to have an array type doesn't result in
> the parameter actually having an array type.  The type is "adjusted"
> to a pointer.  (C99 6.9.1(7), 6.7.5.3.)
> 
> So the use of sizeof in xc_suspend.c:get_suspend_file was wrong.
> Instead, use the #define.  Also get rid of the array parameter, as it
> is misleading.

Did you actually do this bit?

> Newer versions of gcc warn about the erroneous code:
>   xc_suspend.c:39:25: error: argument to 'sizeof' in 'snprintf' call
>     is the same expression as the destination; did you mean to provide
>     an explicit length? [-Werror=sizeof-pointer-memaccess]
> 
> Reported-By: Julien Grall <julien.grall@xxxxxxxxxx>
> Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

> CC: Julien Grall <julien.grall@xxxxxxxxxx>
> ---
>  tools/libxc/xc_suspend.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/libxc/xc_suspend.c b/tools/libxc/xc_suspend.c
> index 84ee139..798eaaa 100644
> --- a/tools/libxc/xc_suspend.c
> +++ b/tools/libxc/xc_suspend.c
> @@ -36,7 +36,7 @@
>  
>  static void get_suspend_file(char buf[SUSPEND_FILE_BUFLEN], int domid)
>  {
> -    snprintf(buf, sizeof(buf), SUSPEND_LOCK_FILE, domid);
> +    snprintf(buf, SUSPEND_FILE_BUFLEN, SUSPEND_LOCK_FILE, domid);
>  }
>  
>  static int lock_suspend_event(xc_interface *xch, int domid, int *lockfd)



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.