fix bug in exece at badarg:
authorBill Joy <bill@ucbvax.Berkeley.EDU>
Sat, 12 Apr 1980 01:15:59 +0000 (17:15 -0800)
committerBill Joy <bill@ucbvax.Berkeley.EDU>
Sat, 12 Apr 1980 01:15:59 +0000 (17:15 -0800)
SCCS-vsn: sys/kern/kern_proc.c 3.2

usr/src/sys/kern/kern_proc.c

index 8af1856..04d1a52 100644 (file)
@@ -1,4 +1,4 @@
-/*     kern_proc.c     3.1     %H%     */
+/*     kern_proc.c     3.2     %H%     */
 
 #include "../h/param.h"
 #include "../h/systm.h"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -88,8 +88,12 @@ exece()
                                u.u_error = E2BIG;
                        if ((c = fubyte((caddr_t)ap++)) < 0)
                                u.u_error = EFAULT;
                                u.u_error = E2BIG;
                        if ((c = fubyte((caddr_t)ap++)) < 0)
                                u.u_error = EFAULT;
-                       if (u.u_error)
+                       if (u.u_error) {
+                               if (bp)
+                                       brelse(bp);
+                               bp = 0;
                                goto badarg;
                                goto badarg;
+                       }
                        if ((nc&BMASK) == 0) {
                                if (bp)
                                        bdwrite(bp);
                        if ((nc&BMASK) == 0) {
                                if (bp)
                                        bdwrite(bp);