iSome more sanity checks - dedup - deduplicating backup program Err bitreich.org 70 hgit clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ URL:git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ bitreich.org 70 1Log /scm/dedup/log.gph bitreich.org 70 1Files /scm/dedup/files.gph bitreich.org 70 1Refs /scm/dedup/refs.gph bitreich.org 70 1Tags /scm/dedup/tag bitreich.org 70 1README /scm/dedup/file/README.gph bitreich.org 70 1LICENSE /scm/dedup/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 47ec558f694b05fc961322ec2733ff0cf7826413 /scm/dedup/commit/47ec558f694b05fc961322ec2733ff0cf7826413.gph bitreich.org 70 1parent a6f3624b616e46d60875a82ddc5cd5ce6f62dfbd /scm/dedup/commit/a6f3624b616e46d60875a82ddc5cd5ce6f62dfbd.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Thu, 25 Apr 2019 14:00:41 +0100 Err bitreich.org 70 i Err bitreich.org 70 iSome more sanity checks Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M bstorage.c | 13 +++++++++++++ Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 13 insertions(+), 0 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/bstorage.c b/bstorage.c /scm/dedup/file/bstorage.c.gph bitreich.org 70 i@@ -84,12 +84,14 @@ struct sctx { Err bitreich.org 70 i int rdonly; Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i+#define NCALGOS 2 Err bitreich.org 70 i static char *ctbl[] = { Err bitreich.org 70 i "none", Err bitreich.org 70 i "snappy", Err bitreich.org 70 i NULL, Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i+#define NHALGOS 1 Err bitreich.org 70 i static char *htbl[] = { Err bitreich.org 70 i "blake2b", Err bitreich.org 70 i NULL, Err bitreich.org 70 i@@ -396,8 +398,19 @@ bsopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i calgo = (bhdr->flags >> CALGOSHIFT) & CALGOMASK; Err bitreich.org 70 i+ if (calgo < 0 || calgo >= NCALGOS) { Err bitreich.org 70 i+ free(sctx); Err bitreich.org 70 i+ close(fd); Err bitreich.org 70 i+ return -1; Err bitreich.org 70 i+ } Err bitreich.org 70 i bpar->calgo = ctbl[calgo]; Err bitreich.org 70 i+ Err bitreich.org 70 i halgo = (bhdr->flags >> CALGOSHIFT) & CALGOMASK; Err bitreich.org 70 i+ if (halgo < 0 || halgo >= NHALGOS) { Err bitreich.org 70 i+ free(sctx); Err bitreich.org 70 i+ close(fd); Err bitreich.org 70 i+ return -1; Err bitreich.org 70 i+ } Err bitreich.org 70 i bpar->halgo = htbl[halgo]; Err bitreich.org 70 i Err bitreich.org 70 i sctx->fd = fd; Err bitreich.org 70 .