]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
storage: Need to also VIR_FREE(reg)
authorLuca Tettamanti <ltettamanti@acunu.com>
Thu, 25 Apr 2013 19:44:30 +0000 (21:44 +0200)
committerGuido Günther <agx@sigxcpu.org>
Thu, 12 Sep 2013 15:35:27 +0000 (17:35 +0200)
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.
(cherry picked from commit 71da3b66a8455faf8019effe3cf504a31f91f54a)

Backported to 0.9.12 with afc4631b and its revert skipped.

Signed-off-by: Luca Tettamanti <ltettamanti acunu com>
src/storage/storage_backend_logical.c

index 9a91dd9a74475e2b0d757e8e81f3d632f525f580..7abb17b69814b8aec544058bb587c6a3b4bc54ca 100644 (file)
@@ -204,13 +204,16 @@ virStorageBackendLogicalMakeVol(virStoragePoolObjPtr pool,
     if (err != 0) {
         char error[100];
         regerror(err, reg, error, sizeof(error));
+        regfree(reg);
         virStorageReportError(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) {
         virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                               _("malformed volume extent devices value"));
         goto cleanup;