summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Carbonneaux2022-04-05 16:03:19 +0200
committerQuentin Carbonneaux2022-04-05 16:03:22 +0200
commitdbdc3d542de6e0b9c00b89cdfab86d72a10a9e61 (patch)
tree8ea5edf2ce6ff460a2246e2c93e3e614f807fd48
parentee5ad3a6b15293484143fd92228bc6d0cad59a02 (diff)
bug fixes
-rw-r--r--sdar/arch.c3
-rw-r--r--sdar/main.c6
2 files changed, 6 insertions, 3 deletions
diff --git a/sdar/arch.c b/sdar/arch.c
index 104783c..5f1b067 100644
--- a/sdar/arch.c
+++ b/sdar/arch.c
@@ -386,8 +386,7 @@ readblock(Reader *r, hmac_t hmac, Block *b, Slice *ps)
}
slhmac(*ps, bhmac);
- if (ps->len != len
- || memcmp(hmac, bhmac, Hmacsz) != 0) {
+ if (memcmp(hmac, bhmac, Hmacsz) != 0) {
logs("E corrupt block");
goto error;
}
diff --git a/sdar/main.c b/sdar/main.c
index b23f933..a463661 100644
--- a/sdar/main.c
+++ b/sdar/main.c
@@ -545,9 +545,12 @@ readdata(Reader *rd, Addr *addr, vlong off, vlong len, int batch)
if (readerstart(rd, addr, off))
return 1;
+ s = newsl();
do {
- if (reader(rd, &s))
+ if (reader(rd, &s)) {
+ freesl(s);
return 1;
+ }
if (!s.len)
break;
if (len > 0) {
@@ -559,6 +562,7 @@ readdata(Reader *rd, Addr *addr, vlong off, vlong len, int batch)
pkt("raw %ld", s.len);
fwrite(s.buf, 1, s.len, stdout);
} while (len != 0);
+ freesl(s);
return 0;
}