sh: Fix swapped INTON/INTOFF.
authorPeter Avalos <pavalos@dragonflybsd.org>
Sun, 5 Feb 2012 20:26:01 +0000 (12:26 -0800)
committerPeter Avalos <pavalos@dragonflybsd.org>
Sun, 5 Feb 2012 20:48:27 +0000 (12:48 -0800)
A possible consequence of this bug was a memory leak if SIGINT arrived
during a 'set' command (listing variables).

Obtained-from:  FreeBSD 231001

bin/sh/var.c

index 7d54848..75657ee 100644 (file)
@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  *
  * @(#)var.c   8.3 (Berkeley) 5/4/95
- * $FreeBSD: src/bin/sh/var.c,v 1.64 2012/02/04 23:12:14 jilles Exp $
+ * $FreeBSD: src/bin/sh/var.c,v 1.65 2012/02/04 23:29:07 jilles Exp $
  */
 
 #include <unistd.h>
@@ -600,7 +600,7 @@ showvarscmd(int argc __unused, char **argv __unused)
                }
        }
 
-       INTON;
+       INTOFF;
        vars = ckmalloc(n * sizeof(*vars));
        i = 0;
        for (vpp = vartab; vpp < vartab + VTABSIZE; vpp++) {
@@ -625,7 +625,7 @@ showvarscmd(int argc __unused, char **argv __unused)
                out1c('\n');
        }
        ckfree(vars);
-       INTOFF;
+       INTON;
 
        return 0;
 }