Reorder some code in bscheck() - dedup - deduplicating backup program HTML git clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ DIR Log DIR Files DIR Refs DIR Tags DIR README DIR LICENSE --- DIR commit ff783e2a9af6d97d55697d654d759ca48d6a28a1 DIR parent 1dd953c0a3654c65c1bade8096a234e51caed46c HTML Author: sin <sin@2f30.org> Date: Sat, 27 Apr 2019 18:30:41 +0100 Reorder some code in bscheck() Diffstat: M bstorage.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) --- DIR diff --git a/bstorage.c b/bstorage.c @@ -630,14 +630,12 @@ bscheck(struct bctx *bctx, unsigned char *md) if (bd == NULL) return -1; - buf = malloc(bd->size); - if (buf == NULL) + if (lseek(sctx->fd, bd->offset, SEEK_SET) < 0) return -1; - if (lseek(sctx->fd, bd->offset, SEEK_SET) < 0) { - free(buf); + buf = malloc(bd->size); + if (buf == NULL) return -1; - } if (xread(sctx->fd, buf, bd->size) != bd->size) { free(buf); @@ -648,13 +646,10 @@ bscheck(struct bctx *bctx, unsigned char *md) free(buf); return -1; } + free(buf); - if (memcmp(key.md, md, MDSIZE) != 0) { - free(buf); + if (memcmp(key.md, md, MDSIZE) != 0) return -1; - } - - free(buf); return 0; }