On 08/29/2018 08:57 PM, John Snow wrote:
Jobs presently use both an Error object in the case of the create job,
and char strings in the case of generic errors elsewhere.

Unify the two paths as just j->err, and remove the extra argument from
job_completed. The integer error code for job_completed is kept for now,
to be removed shortly in a separate patch.

Signed-off-by: John Snow <js...@redhat.com>
---

+++ b/job.c

@@ -666,8 +666,8 @@ static void job_update_rc(Job *job)
          job->ret = -ECANCELED;
      }
      if (job->ret) {
-        if (!job->error) {
-            job->error = g_strdup(strerror(-job->ret));
+        if (!job->err) {
+            error_setg(&job->err, "%s", g_strdup(strerror(-job->ret)));

Memleak. Drop the g_strdup(), and just directly pass strerror() results to error_setg(). (I guess we can't quite use error_setg_errno() unless we add additional text beyond the strerror() results).

With that fixed,
Reviewed-by: Eric Blake <ebl...@redhat.com>

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to