Search Linux Wireless

Re: [patch] mac80111: aes_ccm: cleanup ieee80211_aes_key_setup_encrypt()

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

 



On 23 March 2015 at 15:08, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> This code is written using an anti-pattern called "success handling"
> which makes it hard to read, especially if you are used to normal kernel
> style.  It should instead be written as a list of directives in a row
> with branches for error handling.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>

Thanks,
Ard.

>
> diff --git a/net/mac80211/aes_ccm.c b/net/mac80211/aes_ccm.c
> index 7869bb40..208df7c 100644
> --- a/net/mac80211/aes_ccm.c
> +++ b/net/mac80211/aes_ccm.c
> @@ -85,11 +85,15 @@ struct crypto_aead *ieee80211_aes_key_setup_encrypt(const u8 key[],
>                 return tfm;
>
>         err = crypto_aead_setkey(tfm, key, key_len);
> -       if (!err)
> -               err = crypto_aead_setauthsize(tfm, mic_len);
> -       if (!err)
> -               return tfm;
> +       if (err)
> +               goto free_aead;
> +       err = crypto_aead_setauthsize(tfm, mic_len);
> +       if (err)
> +               goto free_aead;
> +
> +       return tfm;
>
> +free_aead:
>         crypto_free_aead(tfm);
>         return ERR_PTR(err);
>  }
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux