Quoting Stéphane Graber (stgra...@ubuntu.com):
> strdupa appears to only exist in the standard glibc but at least not in 
> bionic.
> Replace the two strdupa calls we have by a standard strdup.
> 
> Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>

Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.com>

> ---
>  src/lxc/confile.c | 23 ++++++++++++++++-------
>  1 file changed, 16 insertions(+), 7 deletions(-)
> 
> diff --git a/src/lxc/confile.c b/src/lxc/confile.c
> index 940f0a9..6b75b6a 100644
> --- a/src/lxc/confile.c
> +++ b/src/lxc/confile.c
> @@ -580,7 +580,11 @@ static int config_network_ipv4(const char *key, const 
> char *value,
>       lxc_list_init(list);
>       list->elem = inetdev;
>  
> -     addr = strdupa(value);
> +     addr = strdup(value);
> +     if (!addr) {
> +             ERROR("no address specified");
> +             return -1;
> +     }
>  
>       cursor = strstr(addr, " ");
>       if (cursor) {
> @@ -594,18 +598,15 @@ static int config_network_ipv4(const char *key, const 
> char *value,
>               prefix = slash + 1;
>       }
>  
> -     if (!addr) {
> -             ERROR("no address specified");
> -             return -1;
> -     }
> -
>       if (!inet_pton(AF_INET, addr, &inetdev->addr)) {
>               SYSERROR("invalid ipv4 address: %s", value);
> +             free(addr);
>               return -1;
>       }
>  
>       if (bcast && !inet_pton(AF_INET, bcast, &inetdev->bcast)) {
>               SYSERROR("invalid ipv4 broadcast address: %s", value);
> +             free(addr);
>               return -1;
>       }
>  
> @@ -624,6 +625,7 @@ static int config_network_ipv4(const char *key, const 
> char *value,
>  
>       lxc_list_add(&netdev->ipv4, list);
>  
> +     free(addr);
>       return 0;
>  }
>  
> @@ -693,7 +695,12 @@ static int config_network_ipv6(const char *key, const 
> char *value,
>       lxc_list_init(list);
>       list->elem = inet6dev;
>  
> -     valdup = strdupa(value);
> +     valdup = strdup(value);
> +     if (!valdup) {
> +             ERROR("no address specified");
> +             return -1;
> +     }
> +
>       inet6dev->prefix = 64;
>       slash = strstr(valdup, "/");
>       if (slash) {
> @@ -704,11 +711,13 @@ static int config_network_ipv6(const char *key, const 
> char *value,
>  
>       if (!inet_pton(AF_INET6, value, &inet6dev->addr)) {
>               SYSERROR("invalid ipv6 address: %s", value);
> +             free(valdup);
>               return -1;
>       }
>  
>       lxc_list_add(&netdev->ipv6, list);
>  
> +     free(valdup);
>       return 0;
>  }
>  
> -- 
> 1.8.0
> 
> 
> ------------------------------------------------------------------------------
> Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
> and more. Get SQL Server skills now (including 2012) with LearnDevNow -
> 200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
> SALE $99.99 this month only - learn more at:
> http://p.sf.net/sfu/learnmore_122512
> _______________________________________________
> Lxc-devel mailing list
> Lxc-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-devel

------------------------------------------------------------------------------
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to