On 04/21/2014 01:01 PM, jmiao wrote:
> drv_define() doesn't check the length of IF's name, so the IF's name
> may be trancated to maxium length(IFNAMSIZ - 1).
>
> Signed-off-by: jmiao <jm...@redhat.com>

ACK and pushed (I added "allowed" to the error messages).

> ---
>  AUTHORS          | 3 ++-
>  src/drv_debian.c | 3 +++
>  src/drv_redhat.c | 3 +++
>  src/drv_suse.c   | 3 +++
>  4 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/AUTHORS b/AUTHORS
> index 6188570..bee6abe 100644
> --- a/AUTHORS
> +++ b/AUTHORS
> @@ -21,4 +21,5 @@ Contributions by:
>    Hendrik Schwartke <hend...@os-t.de>
>    Ting Liu         <b28...@freescale.com>
>    Satoru SATOH     <ss...@redhat.com>
> -  Martin Wilck     <martin.wi...@ts.fujitsu.com>
> \ No newline at end of file
> +  Martin Wilck     <martin.wi...@ts.fujitsu.com>
> +  Jincheng Miao    <jm...@redhat.com>
> diff --git a/src/drv_debian.c b/src/drv_debian.c
> index def0c0e..342777c 100644
> --- a/src/drv_debian.c
> +++ b/src/drv_debian.c
> @@ -925,6 +925,9 @@ struct netcf_if *drv_define(struct netcf *ncf, const char 
> *xml_str) {
>  
>      name = device_name_from_xml(ncf, ncf_xml);
>      ERR_COND_BAIL(name == NULL, ncf, EINTERNAL);
> +    ERR_THROW(strlen(name) >= IFNAMSIZ, ncf, EINTERNAL,
> +              "The interface name '%s' exceeds the maximum length: %d",
> +              name, IFNAMSIZ - 1);
>  
>      rm_all_interfaces(ncf, ncf_xml);
>      ERR_BAIL(ncf);
> diff --git a/src/drv_redhat.c b/src/drv_redhat.c
> index 3697473..c40d7fb 100644
> --- a/src/drv_redhat.c
> +++ b/src/drv_redhat.c
> @@ -878,6 +878,9 @@ struct netcf_if *drv_define(struct netcf *ncf, const char 
> *xml_str) {
>  
>      name = device_name_from_xml(ncf, ncf_xml);
>      ERR_COND_BAIL(name == NULL, ncf, EINTERNAL);
> +    ERR_THROW(strlen(name) >= IFNAMSIZ, ncf, EINTERNAL,
> +              "The interface name '%s' exceeds the maximum length: %d",
> +              name, IFNAMSIZ - 1);
>  
>      rm_all_interfaces(ncf, ncf_xml);
>      ERR_BAIL(ncf);
> diff --git a/src/drv_suse.c b/src/drv_suse.c
> index 666d802..782d366 100644
> --- a/src/drv_suse.c
> +++ b/src/drv_suse.c
> @@ -1020,6 +1020,9 @@ struct netcf_if *drv_define(struct netcf *ncf, const 
> char *xml_str) {
>  
>      name = device_name_from_xml(ncf, ncf_xml);
>      ERR_COND_BAIL(name == NULL, ncf, EINTERNAL);
> +    ERR_THROW(strlen(name) >= IFNAMSIZ, ncf, EINTERNAL,
> +              "The interface name '%s' exceeds the maximum length: %d",
> +              name, IFNAMSIZ - 1);
>  
>      rm_all_interfaces(ncf, ncf_xml);
>      ERR_BAIL(ncf);

_______________________________________________
netcf-devel mailing list
netcf-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/netcf-devel

Reply via email to