[libvirt] [PATCH] util/vshstring: fix the vir_strdup when src is NULL.

Yang Dongsheng yangds.fnst at cn.fujitsu.com
Tue May 28 09:43:57 UTC 2013


This bug will cause the dest get a unexpected value.

Example:
[root at yds-pc libvirt]# virsh
Welcome to virsh, the virtualization interactive terminal.

Type: 'help' for help with commands
'quit' to quit

virsh # connect
error: Failed to connect to the hypervisor
error: internal error Unable to parse URI �N�*C

Please someone give me a comment. Thanx~

On 05/28/2013 03:13 PM, yangdongsheng wrote:
> When src is NULL, vir_strdup will return 0 directly.
> This patch will set dest to NULL before vir_strdup return.
>
> Signed-off-by: yangdongsheng<yangds.fnst at cn.fujitsu.com>
> ---
>   src/util/virstring.c |    4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/util/virstring.c b/src/util/virstring.c
> index b244e6c..25b5d81 100644
> --- a/src/util/virstring.c
> +++ b/src/util/virstring.c
> @@ -540,8 +540,10 @@ virStrdup(char **dest,
>             const char *funcname,
>             size_t linenr)
>   {
> -    if (!src)
> +    if (!src) {
> +        *dest = NULL;
>           return 0;
> +    }
>       if (!(*dest = strdup(src))) {
>           if (report)
>               virReportOOMErrorFull(domcode, filename, funcname, linenr);





More information about the libvir-list mailing list