diff --git a/lib/reed_solomon/decode_rs.c b/lib/reed_solomon/decode_rs.c index 22006eaa41e65c28bd89a9fbfb9ed111032487f6..78629bbe6590bf47b39534f3833191ba99833f43 100644 --- a/lib/reed_solomon/decode_rs.c +++ b/lib/reed_solomon/decode_rs.c @@ -88,8 +88,7 @@ /* if syndrome is zero, data[] is a codeword and there are no * errors to correct. So return data[] unmodified */ - count = 0; - goto finish; + return 0; } decode: @@ -202,8 +201,7 @@ * deg(lambda) unequal to number of roots => uncorrectable * error detected */ - count = -EBADMSG; - goto finish; + return -EBADMSG; } /* * Compute err+eras evaluator poly omega(x) = s(x)*lambda(x) (modulo @@ -261,7 +259,6 @@ } } -finish: if (eras_pos != NULL) { for (i = 0; i < count; i++) eras_pos[i] = loc[i] - pad;