Page MenuHomeFreeBSD

D57010.id177874.diff
No OneTemporary

D57010.id177874.diff

diff --git a/sbin/ipfw/nat.c b/sbin/ipfw/nat.c
--- a/sbin/ipfw/nat.c
+++ b/sbin/ipfw/nat.c
@@ -755,18 +755,20 @@
static int
nat_port_alias_parse(char *str, u_short *lpout, u_short *hpout) {
long lp, hp;
- char *ptr;
- /* Lower port parsing */
- lp = (long) strtol(str, &ptr, 10);
- if (lp < 1024 || lp > 65535)
+ char *ptr, *substr;
+
+ substr = strsep(&str, "-");
+ if (substr == NULL || str == NULL)
return 0;
- if (!ptr || *ptr != '-')
+
+ /* Lower port parsing */
+ lp = (long) strtol(substr, &ptr, 10);
+ if (*ptr != '\0' || lp < 1024 || lp > 65535)
return 0;
+
/* Upper port parsing */
- hp = (long) strtol(ptr, &ptr, 10);
- if (hp < 1024 || hp > 65535)
- return 0;
- if (ptr)
+ hp = (long) strtol(str, &ptr, 10);
+ if (*ptr != '\0' || hp < 1024 || hp > 65535)
return 0;
*lpout = (u_short) lp;

File Metadata

Mime Type
text/plain
Expires
Mon, Aug 31, 4:14 PM (14 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37641875
Default Alt Text
D57010.id177874.diff (821 B)

Event Timeline