summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2019-11-14 12:31:29 -0600
committerDavid Teigland <teigland@redhat.com>2019-11-27 11:13:36 -0600
commit4485b8edca559e9c45311f2a3b88d03bd3223834 (patch)
tree47fa9496f1e261fee6d51225df59831deca6addb
parent657d42e87953adcecc37701ee4e04287c30eec96 (diff)
downloadlvm2-4485b8edca559e9c45311f2a3b88d03bd3223834.tar.gz
Revert "cov: fix mem leaking buffer"
This reverts commit d67ce9e140b5691a3f75a69d6e735eec30603670. fixes folded into subsequent pvck commit
-rw-r--r--tools/pvck.c36
1 files changed, 14 insertions, 22 deletions
diff --git a/tools/pvck.c b/tools/pvck.c
index 90bcafeb8..c6f6a330d 100644
--- a/tools/pvck.c
+++ b/tools/pvck.c
@@ -658,25 +658,20 @@ static int _dump_meta_area(struct device *dev, const char *tofile,
if (!dev_read_bytes(dev, mda_offset, mda_size, meta_buf)) {
log_print("CHECK: failed to read metadata area at offset %llu size %llu",
(unsigned long long)mda_offset, (unsigned long long)mda_size);
- free(meta_buf);
return 0;
}
if (!(fp = fopen(tofile, "wx"))) {
- log_error("Failed to create file %s.", tofile);
- free(meta_buf);
+ log_error("Failed to create file %s", tofile);
return 0;
}
- if (fwrite(meta_buf, mda_size - 512, 1, fp) < (mda_size - 512))
- log_warn("WARNING: Failed to write " FMTu64 " bytes to file %s.", mda_size - 512, tofile);
+ fwrite(meta_buf, mda_size - 512, 1, fp);
- free(meta_buf);
if (fflush(fp))
stack;
if (fclose(fp))
stack;
-
return 1;
}
@@ -724,7 +719,7 @@ static int _dump_current_text(struct device *dev,
* mda_offset + meta_offset.
*/
if (meta_offset + meta_size > mda_size) {
- /* text metadata wraps to start of text metadata area */
+ /* text metadata wraps to start of text metadata area */
uint32_t wrap = (uint32_t) ((meta_offset + meta_size) - mda_size);
off_t offset_a = mda_offset + meta_offset;
uint32_t size_a = meta_size - wrap;
@@ -735,7 +730,6 @@ static int _dump_current_text(struct device *dev,
log_print("CHECK: failed to read metadata text at mda_header_%d.raw_locn[%d].offset %llu size %llu part_a %llu %llu", mn, ri,
(unsigned long long)meta_offset, (unsigned long long)meta_size,
(unsigned long long)offset_a, (unsigned long long)size_a);
- free(meta_buf);
return 0;
}
@@ -743,14 +737,12 @@ static int _dump_current_text(struct device *dev,
log_print("CHECK: failed to read metadata text at mda_header_%d.raw_locn[%d].offset %llu size %llu part_b %llu %llu", mn, ri,
(unsigned long long)meta_offset, (unsigned long long)meta_size,
(unsigned long long)offset_b, (unsigned long long)size_b);
- free(meta_buf);
return 0;
}
} else {
if (!dev_read_bytes(dev, mda_offset + meta_offset, meta_size, meta_buf)) {
log_print("CHECK: failed to read metadata text at mda_header_%d.raw_locn[%d].offset %llu size %llu", mn, ri,
(unsigned long long)meta_offset, (unsigned long long)meta_size);
- free(meta_buf);
return 0;
}
}
@@ -808,9 +800,9 @@ static int _dump_current_text(struct device *dev,
}
out:
- free(meta_buf);
-
- return (!bad) ? 1 : 0;
+ if (bad)
+ return 0;
+ return 1;
}
static int _dump_label_and_pv_header(struct cmd_context *cmd, int print_fields,
@@ -854,7 +846,6 @@ static int _dump_label_and_pv_header(struct cmd_context *cmd, int print_fields,
if (!dev_read_bytes(dev, lh_offset, 512, buf)) {
log_print("CHECK: failed to read label_header at %llu",
(unsigned long long)lh_offset);
- free(buf);
return 0;
}
@@ -1049,9 +1040,9 @@ static int _dump_label_and_pv_header(struct cmd_context *cmd, int print_fields,
(unsigned long long)xlate64(dlocn->size));
}
- free(buf);
-
- return (!bad) ? 1 : 0;
+ if (bad)
+ return 0;
+ return 1;
}
/*
@@ -1104,7 +1095,6 @@ static int _dump_mda_header(struct cmd_context *cmd,
if (!dev_read_bytes(dev, mda_offset, 512, buf)) {
log_print("CHECK: failed to read mda_header at %llu", (unsigned long long)mda_offset);
- free(buf);
return 0;
}
@@ -1195,9 +1185,11 @@ static int _dump_mda_header(struct cmd_context *cmd,
/* Should we also check text metadata if it exists in rlocn1? */
out:
- free(buf);
-
- return (!bad) ? 1 : 0;
+ if (buf)
+ free(buf);
+ if (bad)
+ return 0;
+ return 1;
}
static int _dump_headers(struct cmd_context *cmd,