aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2006-05-23 15:07:46 -0700
committerDavid S. Miller <davem@sunset.sfo1.dsl.speakeasy.net>2006-05-23 15:15:10 -0700
commit4d942d8b39bf7d43ce93d85964aeb63aeace0593 (patch)
tree5c8122762945a8bb9be58bf9bdcbc4dc023ad5db /net/ipv4
parent[NETFILTER]: H.323 helper: fix parser error propagation (diff)
downloadlinux-dev-4d942d8b39bf7d43ce93d85964aeb63aeace0593.tar.xz
linux-dev-4d942d8b39bf7d43ce93d85964aeb63aeace0593.zip
[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/ipv4')
-rw-r--r--net/ipv4/netfilter/ip_conntrack_helper_h323_asn1.c2
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)
/* Decode the extension components */
for (opt = 0; opt < bmp2_len; opt++, i++, son++) {
- if (son->attr & STOP) {
+ if (i < f->ub && son->attr & STOP) {
PRINT("%*.s%s\n", (level + 1) * TAB_SIZE, " ",
son->name);
return H323_ERROR_STOP;