From: Namjae Jeon Date: Wed, 26 May 2021 06:22:37 +0000 (+0900) Subject: cifsd: add goto fail in asn1_oid_decode() X-Git-Tag: accepted/tizen/unified/20230118.172025~6553^2~18^2~30 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cdd10398e71a1843ef99ed545bbb872b6cb9d249;p=platform%2Fkernel%2Flinux-rpi.git cifsd: add goto fail in asn1_oid_decode() Add goto fail in asn1_oid_decode() to clean-up exception handling code. Reviewed-by: Dan Carpenter Signed-off-by: Namjae Jeon Signed-off-by: Steve French --- diff --git a/fs/cifsd/asn1.c b/fs/cifsd/asn1.c index aa6ea85..f2628dc 100644 --- a/fs/cifsd/asn1.c +++ b/fs/cifsd/asn1.c @@ -74,11 +74,8 @@ static bool asn1_oid_decode(const unsigned char *value, size_t vlen, optr = *oid; - if (!asn1_subid_decode(&iptr, end, &subid)) { - kfree(*oid); - *oid = NULL; - return false; - } + if (!asn1_subid_decode(&iptr, end, &subid)) + goto fail; if (subid < 40) { optr[0] = 0; @@ -95,19 +92,18 @@ static bool asn1_oid_decode(const unsigned char *value, size_t vlen, optr += 2; while (iptr < end) { - if (++(*oidlen) > vlen) { - kfree(*oid); - *oid = NULL; - return false; - } + if (++(*oidlen) > vlen) + goto fail; - if (!asn1_subid_decode(&iptr, end, optr++)) { - kfree(*oid); - *oid = NULL; - return false; - } + if (!asn1_subid_decode(&iptr, end, optr++)) + goto fail; } return true; + +fail: + kfree(*oid); + *oid = NULL; + return false; } static bool