From: Jeremy Kerr Date: Tue, 21 Jan 2014 00:27:48 +0000 (+0800) Subject: discover/paths: Check process exit status when loading URLs X-Git-Tag: v1.0.0~261 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=6acda62401f17924b7004e25d038533e282903a1;hp=c19e643390ef5f77151fe029e6d336a07e212858 discover/paths: Check process exit status when loading URLs Currently, we may report incorrect success when loading a URL, as we only check the return value of process_run_sync() (and not the process exit status itself) in load_process_to_local_file. This fix adds a check to the synchronous load. Signed-off-by: Jeremy Kerr --- diff --git a/discover/paths.c b/discover/paths.c index 5e577eb..58fbffd 100644 --- a/discover/paths.c +++ b/discover/paths.c @@ -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; }