On Thu, Jan 22, 2015 at 20:16, Ted Unangst wrote:

> This diff is mechanical in nature. Later I will fix the bugs it reveals:
> 
> -       while ((status = load_env(envstr, file)) >= OK) {
> +       while ((status = load_env(envstr, file)) >= 0) {
> switch (status) {
> -               case ERR:
> +               case -1:

Delete this code. Not moving it because if it actually ran, it would
free the user we just got done building.

Index: user.c
===================================================================
RCS file: /cvs/src/usr.sbin/cron/user.c,v
retrieving revision 1.11
diff -u -p -r1.11 user.c
--- user.c      23 Jan 2015 02:37:25 -0000      1.11
+++ user.c      23 Jan 2015 02:43:57 -0000
@@ -78,10 +78,6 @@ load_user(int crontab_fd, struct passwd      
         */
        while ((status = load_env(envstr, file)) >= 0) {
                switch (status) {
-               case -1:
-                       free_user(u);
-                       u = NULL;
-                       goto done;
                case FALSE:
                        e = load_entry(file, NULL, pw, envp);
                        if (e) {

Reply via email to