]> git.ozlabs.org Git - petitboot/blobdiff - discover/paths.c
discover/paths: Check process exit status when loading URLs
[petitboot] / discover / paths.c
index 0c8cc8b0d4c1a84596c66ab1f27073cff5446435..58fbffdc3e58f7aaa3a6f534a2f8dbeb003eeb73 100644 (file)
@@ -131,7 +131,10 @@ static void load_process_to_local_file(struct load_task *task,
                task->result->status = rc ? LOAD_ERROR : LOAD_ASYNC;
        } else {
                rc = process_run_sync(task->process);
-               task->result->status = rc ? LOAD_ERROR : LOAD_OK;
+               if (rc || WEXITSTATUS(task->process->exit_status))
+                       task->result->status = LOAD_ERROR;
+               else
+                       task->result->status = LOAD_OK;
                process_release(task->process);
                task->process = NULL;
        }
@@ -222,6 +225,7 @@ static enum tftp_type check_tftp_type(void *ctx)
        process->path = pb_system_apps.tftp;
        process->argv = argv;
        process->keep_stdout = true;
+       process->add_stderr = true;
        process_run_sync(process);
 
        if (!process->stdout_buf || process->stdout_len == 0) {