Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/bsd/ipf/dist/tools #551 ipf.conf address structure ...



details:   https://anonhg.NetBSD.org/src/rev/0c3b5142d52e
branches:  trunk
changeset: 330210:0c3b5142d52e
user:      darrenr <darrenr%NetBSD.org@localhost>
date:      Sun Jun 29 08:53:08 2014 +0000

description:
#551 ipf.conf address structure not properly zero filled

diffstat:

 external/bsd/ipf/dist/tools/ipf_y.y |  34 ++++++++++++++++++++++------------
 1 files changed, 22 insertions(+), 12 deletions(-)

diffs (106 lines):

diff -r eae0ab2567eb -r 0c3b5142d52e external/bsd/ipf/dist/tools/ipf_y.y
--- a/external/bsd/ipf/dist/tools/ipf_y.y       Sun Jun 29 08:51:01 2014 +0000
+++ b/external/bsd/ipf/dist/tools/ipf_y.y       Sun Jun 29 08:53:08 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ipf_y.y,v 1.2 2014/06/12 17:23:06 christos Exp $       */
+/*     $NetBSD: ipf_y.y,v 1.3 2014/06/29 08:53:08 darrenr Exp $        */
 
 /*
  * Copyright (C) 2012 by Darren Reed.
@@ -1022,12 +1022,13 @@
                                          yyexpectaddr = 0; }
        ;
 
-ipaddr:        IPFY_ANY                        { bzero(&($$), sizeof($$));
+ipaddr:        IPFY_ANY                        { memset(&($$), 0, sizeof($$));
                                          $$.type = FRI_NORMAL;
                                          $$.ifpos = -1;
                                          yyexpectaddr = 0;
                                        }
-       | hostname                      { $$.a = $1.adr;
+       | hostname                      { memset(&($$), 0, sizeof($$));
+                                         $$.a = $1.adr;
                                          $$.f = $1.f;
                                          if ($1.f == AF_INET6)
                                                  fill6bits(128, $$.m.i6);
@@ -1040,7 +1041,8 @@
        | hostname                      { yyresetdict(); }
                maskspace               { yysetdict(maskwords);
                                          yyexpectaddr = 2; }
-               ipmask                  { ntomask($1.f, $5, $$.m.i6);
+               ipmask                  { memset(&($$), 0, sizeof($$));
+                                         ntomask($1.f, $5, $$.m.i6);
                                          $$.a = $1.adr;
                                          $$.a.i6[0] &= $$.m.i6[0];
                                          $$.a.i6[1] &= $$.m.i6[1];
@@ -1062,7 +1064,8 @@
                                          yyresetdict();
                                          yyexpectaddr = 0;
                                        }
-       | '(' YY_STR ')'                { $$.type = FRI_DYNAMIC;
+       | '(' YY_STR ')'                { memset(&($$), 0, sizeof($$));
+                                         $$.type = FRI_DYNAMIC;
                                          ifpflag = FRI_DYNAMIC;
                                          $$.ifpos = addname(&fr, $2);
                                          $$.lif = 0;
@@ -1070,7 +1073,8 @@
        | '(' YY_STR ')' '/'
          { ifpflag = FRI_DYNAMIC; yysetdict(maskwords); }
          maskopts
-                                       { $$.type = ifpflag;
+                                       { memset(&($$), 0, sizeof($$));
+                                         $$.type = ifpflag;
                                          $$.ifpos = addname(&fr, $2);
                                          $$.lif = 0;
                                          if (frc->fr_family == AF_UNSPEC)
@@ -1085,7 +1089,8 @@
        | '(' YY_STR ':' YY_NUMBER ')' '/'
          { ifpflag = FRI_DYNAMIC; yysetdict(maskwords); }
          maskopts
-                                       { $$.type = ifpflag;
+                                       { memset(&($$), 0, sizeof($$));
+                                         $$.type = ifpflag;
                                          $$.ifpos = addname(&fr, $2);
                                          $$.lif = $4;
                                          if (frc->fr_family == AF_UNSPEC)
@@ -1144,30 +1149,35 @@
        ;
 
 hostname:
-       ipv4                            { $$.adr.in4 = $1;
+       ipv4                            { memset(&($$), 0, sizeof($$));
+                                         $$.adr.in4 = $1;
                                          if (frc->fr_family == AF_INET6)
                                                YYERROR;
                                          $$.f = AF_INET;
                                          yyexpectaddr = 2;
                                        }
-       | YY_NUMBER                     { if (frc->fr_family == AF_INET6)
+       | YY_NUMBER                     { memset(&($$), 0, sizeof($$));
+                                         if (frc->fr_family == AF_INET6)
                                                YYERROR;
                                          $$.adr.in4_addr = $1;
                                          $$.f = AF_INET;
                                          yyexpectaddr = 2;
                                        }
-       | YY_HEX                        { if (frc->fr_family == AF_INET6)
+       | YY_HEX                        { memset(&($$), 0, sizeof($$));
+                                         if (frc->fr_family == AF_INET6)
                                                YYERROR;
                                          $$.adr.in4_addr = $1;
                                          $$.f = AF_INET;
                                          yyexpectaddr = 2;
                                        }
-       | YY_STR                        { if (lookuphost($1, &$$.adr) == 0)
+       | YY_STR                        { memset(&($$), 0, sizeof($$));
+                                         if (lookuphost($1, &$$.adr) == 0)
                                                  $$.f = AF_INET;
                                          free($1);
                                          yyexpectaddr = 2;
                                        }
-       | YY_IPV6                       { if (frc->fr_family == AF_INET)
+       | YY_IPV6                       { memset(&($$), 0, sizeof($$));
+                                         if (frc->fr_family == AF_INET)
                                                YYERROR;
                                          $$.adr = $1;
                                          $$.f = AF_INET6;



Home | Main Index | Thread Index | Old Index