]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospfd: Fix some more virtual-link crashes
authorDonald Sharp <sharpd@cumulusnetworks.com>
Sun, 15 Jan 2017 23:45:09 +0000 (18:45 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Sun, 15 Jan 2017 23:45:09 +0000 (18:45 -0500)
This commit fixes 2 virtual link cli crashes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
ospfd/ospf_vty.c

index fb24e05728c91b15c61c78b1de959d3824afece4..874294ded01a92376ccc3ce05929c587c0342bb3 100644 (file)
@@ -1104,15 +1104,22 @@ DEFUN (ospf_area_vlink,
        case 'm':
          /* message-digest-key */
          i++;
-         vl_config.crypto_key_id = strtol (argv[i]->arg, NULL, 10);
-         if (vl_config.crypto_key_id < 0)
-           return CMD_WARNING;
-         i++;
-         memset(md5_key, 0, OSPF_AUTH_MD5_SIZE+1);
-         strncpy (md5_key, argv[i]->arg, OSPF_AUTH_MD5_SIZE);
-         vl_config.md5_key = md5_key; 
+         if (i < argc)
+           {
+             vl_config.crypto_key_id = strtol (argv[i]->arg, NULL, 10);
+             if (vl_config.crypto_key_id < 0)
+               return CMD_WARNING;
+             i++;
+             if (i < argc)
+               {
+                 memset(md5_key, 0, OSPF_AUTH_MD5_SIZE+1);
+                 strncpy (md5_key, argv[i]->arg, OSPF_AUTH_MD5_SIZE);
+                 vl_config.md5_key = md5_key;
+               }
+           }
+         else
+           vl_config.md5_key = NULL;
          break;
-
        }
     }
 
@@ -1238,7 +1245,7 @@ DEFUN (no_ospf_area_vlink,
   /* If we are down here, we are reseting parameters */
 
   /* Deal with other parameters */
-  for (i=6; argc; i++)
+  for (i=6; i < argc; i++)
     {
       /* vty_out (vty, "argv[%d] - %s%s", i, argv[i], VTY_NEWLINE); */