tags 831672 +patch
thankyou

Adding a patch suggestion for completeness...


Jan
Description: Fixes broken handling of "bind u digraph U+", resulting in a
 SIGSEGV instead of prompting for the remainder. Also fixes an allocation
 inaccuracy I found while debugging this, even though that one looks innocuous.
 See BTS #831672.
Author: Jan C. Nordholz <jnordh...@sec.t-labs.tu-berlin.de>

--- a/process.c	2016-08-04 21:41:27.000000000 +0200
+++ b/process.c	2016-08-04 21:42:37.916299040 +0200
@@ -3855,7 +3855,7 @@
       break;
 
     case RC_DIGRAPH:
-      if (argl && argl[0] > 0 && argl[1] > 0)
+      if (argl && argl[0] > 0 && args[1] && argl[1] > 0)
 	{
 	  if (argl[0] != 2)
 	    {
@@ -4691,9 +4691,9 @@
       act->argl = 0;
       return;
     }
-  if ((pp = (char **)malloc((unsigned)(argc + 1) * sizeof(char **))) == 0)
+  if ((pp = (char **)malloc((unsigned)(argc + 1) * sizeof(char *))) == 0)
     Panic(0, "%s", strnomem);
-  if ((lp = (int *)malloc((unsigned)(argc) * sizeof(int *))) == 0)
+  if ((lp = (int *)malloc((unsigned)(argc) * sizeof(int))) == 0)
     Panic(0, "%s", strnomem);
   act->nr = nr;
   act->args = pp;

Reply via email to