summaryrefslogtreecommitdiffstats
path: root/sys/contrib/ipfilter/netinet/ip_scan.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/ipfilter/netinet/ip_scan.c')
-rw-r--r--sys/contrib/ipfilter/netinet/ip_scan.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/sys/contrib/ipfilter/netinet/ip_scan.c b/sys/contrib/ipfilter/netinet/ip_scan.c
index 13a5a60..ad37216 100644
--- a/sys/contrib/ipfilter/netinet/ip_scan.c
+++ b/sys/contrib/ipfilter/netinet/ip_scan.c
@@ -58,7 +58,7 @@ struct file;
#if !defined(lint)
static const char sccsid[] = "@(#)ip_state.c 1.8 6/5/96 (C) 1993-2000 Darren Reed";
-static const char rcsid[] = "@(#)$Id: ip_scan.c,v 2.40.2.6 2006/03/26 23:06:49 darrenr Exp $";
+static const char rcsid[] = "@(#)$Id: ip_scan.c,v 2.40.2.9 2007/03/13 09:42:05 darrenr Exp $";
#endif
#ifdef IPFILTER_SCAN /* endif at bottom of file */
@@ -115,8 +115,10 @@ caddr_t data;
return ENOMEM;
err = copyinptr(data, isc, sizeof(*isc));
- if (err)
+ if (err) {
+ KFREE(isc);
return err;
+ }
WRITE_ENTER(&ipsc_rwlock);
@@ -230,20 +232,17 @@ struct ipstate *is;
fr = is->is_rule;
if (fr) {
i = fr->fr_isc;
- if (!i || (i != (ipscan_t *)-1)) {
+ if ((i != NULL) && (i != (ipscan_t *)-1)) {
is->is_isc = i;
- if (i) {
- ATOMIC_INC32(i->ipsc_sref);
- if (i->ipsc_clen)
- is->is_flags |= IS_SC_CLIENT;
- else
- is->is_flags |= IS_SC_MATCHC;
- if (i->ipsc_slen)
- is->is_flags |= IS_SC_SERVER;
- else
- is->is_flags |= IS_SC_MATCHS;
- } else
- is->is_flags |= (IS_SC_CLIENT|IS_SC_SERVER);
+ ATOMIC_INC32(i->ipsc_sref);
+ if (i->ipsc_clen)
+ is->is_flags |= IS_SC_CLIENT;
+ else
+ is->is_flags |= IS_SC_MATCHC;
+ if (i->ipsc_slen)
+ is->is_flags |= IS_SC_SERVER;
+ else
+ is->is_flags |= IS_SC_MATCHS;
}
}
RWLOCK_EXIT(&ipsc_rwlock);
@@ -568,10 +567,11 @@ ipstate_t *is;
}
-int fr_scan_ioctl(data, cmd, mode)
+int fr_scan_ioctl(data, cmd, mode, uid, ctx)
caddr_t data;
ioctlcmd_t cmd;
-int mode;
+int mode, uid;
+void *ctx;
{
ipscanstat_t ipscs;
int err = 0;
OpenPOWER on IntegriCloud