X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmanager.c;h=bc589bacc7ffd8e1c17f0d6ac7d2e8b8b2741a1a;hb=60dc72b563cdd4166cc6cb4e3c790bdfe1570ad2;hp=c22aa3eceeb6fd63a274f57bda3f1f8bdbf09963;hpb=fdf20a316035779bbec469e11d73c7544acbf30f;p=elogind.git diff --git a/src/manager.c b/src/manager.c index c22aa3ece..bc589bacc 100644 --- a/src/manager.c +++ b/src/manager.c @@ -1432,13 +1432,17 @@ static int transaction_add_job_and_dependencies( SET_FOREACH(dep, ret->unit->meta.dependencies[UNIT_REQUIRES_OVERRIDABLE], i) if ((r = transaction_add_job_and_dependencies(m, JOB_START, dep, ret, !override, override, false, e, NULL)) < 0 && r != -EBADR) { log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->meta.id, bus_error(e, r)); - dbus_error_free(e); + + if (e) + dbus_error_free(e); } SET_FOREACH(dep, ret->unit->meta.dependencies[UNIT_WANTS], i) if ((r = transaction_add_job_and_dependencies(m, JOB_START, dep, ret, false, false, false, e, NULL)) < 0) { log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->meta.id, bus_error(e, r)); - dbus_error_free(e); + + if (e) + dbus_error_free(e); } SET_FOREACH(dep, ret->unit->meta.dependencies[UNIT_REQUISITE], i) @@ -1448,7 +1452,9 @@ static int transaction_add_job_and_dependencies( SET_FOREACH(dep, ret->unit->meta.dependencies[UNIT_REQUISITE_OVERRIDABLE], i) if ((r = transaction_add_job_and_dependencies(m, JOB_VERIFY_ACTIVE, dep, ret, !override, override, false, e, NULL)) < 0 && r != -EBADR) { log_warning("Cannot add dependency job for unit %s, ignoring: %s", dep->meta.id, bus_error(e, r)); - dbus_error_free(e); + + if (e) + dbus_error_free(e); } SET_FOREACH(dep, ret->unit->meta.dependencies[UNIT_CONFLICTS], i)