Do not call functions inside assert()
[akaros.git] / kern / src / process.c
index e11132a..4e3f78c 100644 (file)
@@ -484,13 +484,16 @@ struct proc *proc_create(struct file_or_chan *prog, char **argv, char **envp)
 {
        struct proc *p;
        error_t r;
+       int ret;
+
        if ((r = proc_alloc(&p, current, 0 /* flags */)) < 0)
                panic("proc_create: %d", r);
        int argc = 0, envc = 0;
        if(argv) while(argv[argc]) argc++;
        if(envp) while(envp[envc]) envc++;
        proc_set_progname(p, argc ? argv[0] : NULL);
-       assert(load_elf(p, prog, argc, argv, envc, envp) == 0);
+       ret = load_elf(p, prog, argc, argv, envc, envp);
+       assert(ret == 0);
        __proc_ready(p);
        return p;
 }