]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
storage: Need to also VIR_FREE(reg)
authorJohn Ferlan <jferlan@redhat.com>
Thu, 10 Jan 2013 19:44:26 +0000 (14:44 -0500)
committerJán Tomko <jtomko@redhat.com>
Tue, 15 Jan 2013 11:05:34 +0000 (12:05 +0100)
Commit-id 'afc4631b' added the regfree(reg) to free resources alloc'd
during regcomp; however, reg still needed to be VIR_FREE()'d. The call
to regfree() also didn't account for possible NULL value.  Reformatted
the call to be closer to usage.

src/storage/storage_backend_logical.c

index bd902feee721a456b621cfbca4aba365c5489899..91db3fd43643071a5408f84d3fe85fecff609e15 100644 (file)
@@ -208,13 +208,16 @@ virStorageBackendLogicalMakeVol(virStoragePoolObjPtr pool,
     if (err != 0) {
         char error[100];
         regerror(err, reg, error, sizeof(error));
+        regfree(reg);
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to compile regex %s"),
                        error);
         goto cleanup;
     }
 
-    if (regexec(reg, groups[3], nvars, vars, 0) != 0) {
+    err = regexec(reg, groups[3], nvars, vars, 0);
+    regfree(reg);
+    if (err != 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("malformed volume extent devices value"));
         goto cleanup;
@@ -264,7 +267,7 @@ virStorageBackendLogicalMakeVol(virStoragePoolObjPtr pool,
 
 cleanup:
     VIR_FREE(regex);
-    regfree(reg);
+    VIR_FREE(reg);
     VIR_FREE(vars);
     if (is_new_vol && (ret == -1))
         virStorageVolDefFree(vol);