Re: [PATCH 1/1] net/x25: fix address parsing bug inx25_parse_address_block.

From: David Miller
Date: Wed Jun 19 2013 - 20:59:37 EST


From: Stephen Moorby <steve.moorby@xxxxxxxxxxxx>
Date: Wed, 19 Jun 2013 21:32:36 +0100

> This problem was discovered when a linux box was incorrectly rejecting
> calls from some X.25 equipment. The problem was diagnosed to an incorrect
> address length calculation in 'x25_parse_address_block', the calculation
> did not account for the address digits being BCD encoded. The correct
> calculation is already performed on line 155.
>
> Patched on linux-next 18-Jun-2013
> Tested on 2.6.32-45-generic
>
> Signed-off-by: Stephen Moorby <steve.moorby@xxxxxxxxxxxx>

This change has two problems:

1) If there is existing code that does the calculation correctly, don't
get creative and express the calculation differently than the existing
code.

2) If there are two places doing the same thing, write a helper function
that does it in one place.

The exact reason this bug exists is because of code duplication, you are
making it even worse by writing the same calculation two different ways.

Please fix this up and resubmit, thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/