From 6acda62401f17924b7004e25d038533e282903a1 Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Tue, 21 Jan 2014 08:27:48 +0800 Subject: [PATCH] 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 --- discover/paths.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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; } -- 2.39.2