Page MenuHomeFreeBSD

D34008.diff
No OneTemporary

D34008.diff

diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y
--- a/sbin/pfctl/parse.y
+++ b/sbin/pfctl/parse.y
@@ -4582,6 +4582,10 @@
$$ = calloc(1, sizeof(struct node_host));
if ($$ == NULL)
err(1, "route_host: calloc");
+ if (strlen($1) >= IFNAMSIZ) {
+ yyerror("interface name too long");
+ YYERROR;
+ }
$$->ifname = strdup($1);
set_ipmask($$, 128);
$$->next = NULL;
@@ -4591,8 +4595,13 @@
struct node_host *n;
$$ = $3;
- for (n = $3; n != NULL; n = n->next)
+ for (n = $3; n != NULL; n = n->next) {
+ if (strlen($2) >= IFNAMSIZ) {
+ yyerror("interface name too long");
+ YYERROR;
+ }
n->ifname = strdup($2);
+ }
}
;

File Metadata

Mime Type
text/plain
Expires
Wed, Jan 22, 1:29 PM (6 h, 24 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16030457
Default Alt Text
D34008.diff (691 B)

Event Timeline