diff options
author | Patrick McHardy <kaber@trash.net> | 2006-05-23 18:07:46 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.sfo1.dsl.speakeasy.net> | 2006-05-23 18:15:10 -0400 |
commit | 4d942d8b39bf7d43ce93d85964aeb63aeace0593 (patch) | |
tree | 5c8122762945a8bb9be58bf9bdcbc4dc023ad5db /net | |
parent | 7185989db4d926dbef1a2f638c464f35599c83e0 (diff) |
[NETFILTER]: H.323 helper: fix sequence extension parsing
When parsing unknown sequence extensions the "son"-pointer points behind
the last known extension for this type, don't try to interpret it.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/netfilter/ip_conntrack_helper_h323_asn1.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/netfilter/ip_conntrack_helper_h323_asn1.c b/net/ipv4/netfilter/ip_conntrack_helper_h323_asn1.c index 5d04438dda4b..26dfecadb335 100644 --- a/net/ipv4/netfilter/ip_conntrack_helper_h323_asn1.c +++ b/net/ipv4/netfilter/ip_conntrack_helper_h323_asn1.c | |||
@@ -555,7 +555,7 @@ int decode_seq(bitstr_t * bs, field_t * f, char *base, int level) | |||
555 | 555 | ||
556 | /* Decode the extension components */ | 556 | /* Decode the extension components */ |
557 | for (opt = 0; opt < bmp2_len; opt++, i++, son++) { | 557 | for (opt = 0; opt < bmp2_len; opt++, i++, son++) { |
558 | if (son->attr & STOP) { | 558 | if (i < f->ub && son->attr & STOP) { |
559 | PRINT("%*.s%s\n", (level + 1) * TAB_SIZE, " ", | 559 | PRINT("%*.s%s\n", (level + 1) * TAB_SIZE, " ", |
560 | son->name); | 560 | son->name); |
561 | return H323_ERROR_STOP; | 561 | return H323_ERROR_STOP; |