From: Lennart Poettering Date: Thu, 24 Feb 2011 02:23:43 +0000 (+0100) Subject: job: don't access j->type when j is already freed X-Git-Tag: v19~17 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;ds=sidebyside;h=a6a9a78d95e9ba302b259f6871433f510c606308;p=elogind.git job: don't access j->type when j is already freed --- diff --git a/src/job.c b/src/job.c index 747020471..54c204b65 100644 --- a/src/job.c +++ b/src/job.c @@ -502,11 +502,11 @@ int job_finish_and_invalidate(Job *j, JobResult result) { t = j->type; job_free(j); - if (result == JOB_FAILED && j->type == JOB_START) + if (result == JOB_FAILED && t == JOB_START) unit_status_printf(u, "Starting %s " ANSI_HIGHLIGHT_ON "failed" ANSI_HIGHLIGHT_OFF ", see 'systemctl status %s' for details.\n", unit_description(u), u->meta.id); - else if (result == JOB_TIMEOUT && j->type == JOB_START) + else if (result == JOB_TIMEOUT && t == JOB_START) unit_status_printf(u, "Starting %s " ANSI_HIGHLIGHT_ON "timed out" ANSI_HIGHLIGHT_OFF ".\n", unit_description(u), u->meta.id); - else if (result == JOB_TIMEOUT && j->type == JOB_STOP) + else if (result == JOB_TIMEOUT && t == JOB_STOP) unit_status_printf(u, "Stopping %s " ANSI_HIGHLIGHT_ON "timed out" ANSI_HIGHLIGHT_OFF ".\n", unit_description(u), u->meta.id); /* Fail depending jobs on failure */