[netfilter-cvslog] r7077 - trunk/iptables/extensions
kaber at trash.net
kaber at trash.net
Thu Oct 18 11:12:49 CEST 2007
Author: kaber at trash.net
Date: 2007-10-18 11:12:49 +0200 (Thu, 18 Oct 2007)
New Revision: 7077
Modified:
trunk/iptables/extensions/libxt_sctp.c
Log:
[PATCH] extension/sctp: fix - mistake to pass a pointer where array is required
Macros like SCTP_CHUNKMAP_XXX(chukmap) require chukmap to be an array,
but print_chunks() passes a pointer to these macros.
Li Zefan <lizf at cn.fujitsu.com>
Modified: trunk/iptables/extensions/libxt_sctp.c
===================================================================
--- trunk/iptables/extensions/libxt_sctp.c 2007-10-17 16:36:49 UTC (rev 7076)
+++ trunk/iptables/extensions/libxt_sctp.c 2007-10-18 09:12:49 UTC (rev 7077)
@@ -398,12 +398,11 @@
}
static void
-print_chunks(u_int32_t chunk_match_type,
- const u_int32_t *chunkmap,
- const struct xt_sctp_flag_info *flag_info,
- int flag_count,
- int numeric)
+print_chunks(const struct xt_sctp_info *einfo, int numeric)
{
+ u_int32_t chunk_match_type = einfo->chunk_match_type;
+ const struct xt_sctp_flag_info *flag_info = einfo->flag_info;
+ int flag_count = einfo->flag_count;
int i, j;
int flag;
@@ -414,19 +413,19 @@
default: printf("Never reach herer\n"); break;
}
- if (SCTP_CHUNKMAP_IS_CLEAR(chunkmap)) {
+ if (SCTP_CHUNKMAP_IS_CLEAR(einfo->chunkmap)) {
printf("NONE ");
goto out;
}
- if (SCTP_CHUNKMAP_IS_ALL_SET(chunkmap)) {
+ if (SCTP_CHUNKMAP_IS_ALL_SET(einfo->chunkmap)) {
printf("ALL ");
goto out;
}
flag = 0;
for (i = 0; i < 256; i++) {
- if (SCTP_CHUNKMAP_IS_SET(chunkmap, i)) {
+ if (SCTP_CHUNKMAP_IS_SET(einfo->chunkmap, i)) {
if (flag)
printf(",");
flag = 1;
@@ -473,8 +472,7 @@
if (einfo->invflags & XT_SCTP_CHUNK_TYPES) {
printf("! ");
}
- print_chunks(einfo->chunk_match_type, einfo->chunkmap,
- einfo->flag_info, einfo->flag_count, numeric);
+ print_chunks(einfo, numeric);
}
}
@@ -509,8 +507,7 @@
printf("! ");
printf("--chunk-types ");
- print_chunks(einfo->chunk_match_type, einfo->chunkmap,
- einfo->flag_info, einfo->flag_count, 0);
+ print_chunks(einfo, 0);
}
}
More information about the netfilter-cvslog
mailing list