Commit b4232a22 authored by David Sterba's avatar David Sterba Committed by Patrick McHardy

netfilter: h323: bug in parsing of ASN1 SEQOF field

Static analyzer of clang found a dead store which appears to be a bug in
reading count of items in SEQOF field, only the lower byte of word is
stored. This may lead to corrupted read and communication shutdown.

The bug has been in the module since it's first inclusion into linux
kernel.

[Patrick: the bug is real, but without practical consequence since the
 largest amount of sequence-of members we parse is 30.]
Signed-off-by: default avatarDavid Sterba <dsterba@suse.cz>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
parent 2f9f28b2
...@@ -631,7 +631,7 @@ static int decode_seqof(bitstr_t *bs, const struct field_t *f, ...@@ -631,7 +631,7 @@ static int decode_seqof(bitstr_t *bs, const struct field_t *f,
CHECK_BOUND(bs, 2); CHECK_BOUND(bs, 2);
count = *bs->cur++; count = *bs->cur++;
count <<= 8; count <<= 8;
count = *bs->cur++; count += *bs->cur++;
break; break;
case SEMI: case SEMI:
BYTE_ALIGN(bs); BYTE_ALIGN(bs);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment