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