* [PATCH 4/4] H.323: Check range first in sequence extension
@ 2007-05-17 19:17 Jing Min Zhao
2007-05-24 18:55 ` Patrick McHardy
0 siblings, 1 reply; 2+ messages in thread
From: Jing Min Zhao @ 2007-05-17 19:17 UTC (permalink / raw)
To: Patrick McHardy; +Cc: Netfilter Development Mailinglist
Check range before checking STOP flag. This optimization may save a nanosecond or less :)
Signed-off-by: Jing Min Zhao <zhaojingmin@vivecode.com>
---
net/netfilter/nf_conntrack_h323_asn1.c | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/net/netfilter/nf_conntrack_h323_asn1.c b/net/netfilter/nf_conntrack_h323_asn1.c
index f6fad71..ceb39bd 100644
--- a/net/netfilter/nf_conntrack_h323_asn1.c
+++ b/net/netfilter/nf_conntrack_h323_asn1.c
@@ -555,15 +555,6 @@ 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 (i < f->ub && son->attr & STOP) {
- PRINT("%*.s%s\n", (level + 1) * TAB_SIZE, " ",
- son->name);
- return H323_ERROR_STOP;
- }
-
- if (!((0x80000000 >> opt) & bmp2)) /* Not present */
- continue;
-
/* Check Range */
if (i >= f->ub) { /* Newer Version? */
CHECK_BOUND(bs, 2);
@@ -573,6 +564,15 @@ int decode_seq(bitstr_t * bs, field_t * f, char *base, int level)
continue;
}
+ if (son->attr & STOP) {
+ PRINT("%*.s%s\n", (level + 1) * TAB_SIZE, " ",
+ son->name);
+ return H323_ERROR_STOP;
+ }
+
+ if (!((0x80000000 >> opt) & bmp2)) /* Not present */
+ continue;
+
CHECK_BOUND(bs, 2);
len = get_len(bs);
CHECK_BOUND(bs, len);
--
1.4.4.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-05-24 18:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-17 19:17 [PATCH 4/4] H.323: Check range first in sequence extension Jing Min Zhao
2007-05-24 18:55 ` Patrick McHardy
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.