diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-05-11 13:43:14 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-05-13 08:47:41 +0200 |
commit | ae635eb21422c5066ef34742195d45a9fb04c777 (patch) | |
tree | a705601eeee075e52d87939ced0470d7051d8d8e /freebsd | |
parent | dhcpcd01/dhcpcd02: Mark as interactive (diff) | |
download | rtems-libbsd-ae635eb21422c5066ef34742195d45a9fb04c777.tar.bz2 |
pfctl: Fix global state initialization
Update #4654.
Diffstat (limited to 'freebsd')
-rw-r--r-- | freebsd/sbin/pfctl/pfctl_parser.c | 10 | ||||
-rw-r--r-- | freebsd/sbin/pfctl/rtems-bsd-pfctl-namespace.h | 1 | ||||
-rw-r--r-- | freebsd/sbin/pfctl/rtems-bsd-pfctl-pfctl_parser-data.h | 1 |
3 files changed, 12 insertions, 0 deletions
diff --git a/freebsd/sbin/pfctl/pfctl_parser.c b/freebsd/sbin/pfctl/pfctl_parser.c index f339d972..9d752d26 100644 --- a/freebsd/sbin/pfctl/pfctl_parser.c +++ b/freebsd/sbin/pfctl/pfctl_parser.c @@ -1351,10 +1351,17 @@ get_socket_domain(void) return (sdom); } +#ifdef __rtems__ +static int pfctl_s = -1; +#endif /* __rtems__ */ int get_query_socket(void) { +#ifndef __rtems__ static int s = -1; +#else /* __rtems__ */ +#define s pfctl_s +#endif /* __rtems__ */ if (s == -1) { if ((s = socket(get_socket_domain(), SOCK_DGRAM, 0)) == -1) @@ -1362,6 +1369,9 @@ get_query_socket(void) } return (s); +#ifdef __rtems__ +#undef s +#endif /* __rtems__ */ } /* diff --git a/freebsd/sbin/pfctl/rtems-bsd-pfctl-namespace.h b/freebsd/sbin/pfctl/rtems-bsd-pfctl-namespace.h index 1712b9e6..2f7fb828 100644 --- a/freebsd/sbin/pfctl/rtems-bsd-pfctl-namespace.h +++ b/freebsd/sbin/pfctl/rtems-bsd-pfctl-namespace.h @@ -35,6 +35,7 @@ #define parseport _bsd_pfctl_parseport #define pfctl_cmdline_symset _bsd_pfctl_pfctl_cmdline_symset #define pfctl_load_anchors _bsd_pfctl_pfctl_load_anchors +#define pfctl_s _bsd_pfctl_s #define pfctlychar _bsd_pfctl_pfctlychar #define pfctlydebug _bsd_pfctl_pfctlydebug #define pfctlyerrflag _bsd_pfctl_pfctlyerrflag diff --git a/freebsd/sbin/pfctl/rtems-bsd-pfctl-pfctl_parser-data.h b/freebsd/sbin/pfctl/rtems-bsd-pfctl-pfctl_parser-data.h index bb8832ac..9bbec579 100644 --- a/freebsd/sbin/pfctl/rtems-bsd-pfctl-pfctl_parser-data.h +++ b/freebsd/sbin/pfctl/rtems-bsd-pfctl-pfctl_parser-data.h @@ -3,3 +3,4 @@ #include "rtems-bsd-pfctl-data.h" /* pfctl_parser.c */ RTEMS_LINKER_RWSET_CONTENT(bsd_prog_pfctl, static struct node_host *iftab); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_pfctl, static int pfctl_s); |