iDo not modify type in the serialization function - 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 083901e286dddcf542979c1037dea36a5f7ab1b1 /scm/dedup/commit/083901e286dddcf542979c1037dea36a5f7ab1b1.gph bitreich.org 70 1parent 41722ed34fe2e6aa8442410a91cbdd231e56b00a /scm/dedup/commit/41722ed34fe2e6aa8442410a91cbdd231e56b00a.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Thu, 28 Feb 2019 13:19:15 +0000 Err bitreich.org 70 i Err bitreich.org 70 iDo not modify type in the serialization function Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M dedup.c | 15 +++++++++++++-- Err bitreich.org 70 i M types.c | 8 -------- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 13 insertions(+), 10 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/dedup.c b/dedup.c /scm/dedup/file/dedup.c.gph bitreich.org 70 i@@ -106,9 +106,20 @@ print_stats(struct stats *st) Err bitreich.org 70 i static void Err bitreich.org 70 i append_snap(struct snapshot *snap) Err bitreich.org 70 i { Err bitreich.org 70 i+ if (mul_overflow(snap->nr_blk_descs, BLK_DESC_LEN)) Err bitreich.org 70 i+ errx(1, "%s: overflow", __func__); Err bitreich.org 70 i+ snap->size = snap->nr_blk_descs * BLK_DESC_LEN; Err bitreich.org 70 i+ Err bitreich.org 70 i+ if (add_overflow(SNAPSHOT_LEN, snap->size)) Err bitreich.org 70 i+ errx(1, "%s: overflow", __func__); Err bitreich.org 70 i+ snap->size += SNAPSHOT_LEN; Err bitreich.org 70 i+ Err bitreich.org 70 i xlseek(ifd, snap_hdr.size, SEEK_SET); Err bitreich.org 70 i write_snapshot(ifd, snap); Err bitreich.org 70 i write_snapshot_blk_descs(ifd, snap); Err bitreich.org 70 i+ Err bitreich.org 70 i+ if (add_overflow(snap_hdr.size, snap->size)) Err bitreich.org 70 i+ errx(1, "%s: overflow", __func__); Err bitreich.org 70 i snap_hdr.size += snap->size; Err bitreich.org 70 i snap_hdr.nr_snapshots++; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -136,11 +147,11 @@ grow_snap(struct snapshot *snap, uint64_t nr_blk_descs) Err bitreich.org 70 i size_t size; Err bitreich.org 70 i Err bitreich.org 70 i if (mul_overflow(nr_blk_descs, sizeof(snap->blk_desc[0]))) Err bitreich.org 70 i- errx(1, "grow_snap: overflow"); Err bitreich.org 70 i+ errx(1, "%s: overflow", __func__); Err bitreich.org 70 i size = nr_blk_descs * sizeof(snap->blk_desc[0]); Err bitreich.org 70 i Err bitreich.org 70 i if (add_overflow(size, sizeof(*snap))) Err bitreich.org 70 i- errx(1, "grow_snap: overflow"); Err bitreich.org 70 i+ errx(1, "%s: overflow", __func__); Err bitreich.org 70 i size += sizeof(*snap); Err bitreich.org 70 i Err bitreich.org 70 i snap = realloc(snap, size); Err bitreich.org 70 1diff --git a/types.c b/types.c /scm/dedup/file/types.c.gph bitreich.org 70 i@@ -184,14 +184,6 @@ write_snapshot(int fd, struct snapshot *snap) Err bitreich.org 70 i char fmt[BUFSIZ]; Err bitreich.org 70 i int n; Err bitreich.org 70 i Err bitreich.org 70 i- if (mul_overflow(snap->nr_blk_descs, BLK_DESC_LEN)) Err bitreich.org 70 i- errx(1, "write_snapshot: overflow"); Err bitreich.org 70 i- snap->size = snap->nr_blk_descs * BLK_DESC_LEN; Err bitreich.org 70 i- Err bitreich.org 70 i- if (add_overflow(SNAPSHOT_LEN, snap->size)) Err bitreich.org 70 i- errx(1, "write_snapshot: overflow"); Err bitreich.org 70 i- snap->size += SNAPSHOT_LEN; Err bitreich.org 70 i- Err bitreich.org 70 i snprintf(fmt, sizeof(fmt), "q'%d'%dq", MSGSIZE, MDSIZE); Err bitreich.org 70 i n = pack(buf, fmt, Err bitreich.org 70 i snap->size, Err bitreich.org 70 .