Do not modify type in the serialization function - dedup - deduplicating backup program
 (HTM) git clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 083901e286dddcf542979c1037dea36a5f7ab1b1
 (DIR) parent 41722ed34fe2e6aa8442410a91cbdd231e56b00a
 (HTM) Author: sin <sin@2f30.org>
       Date:   Thu, 28 Feb 2019 13:19:15 +0000
       
       Do not modify type in the serialization function
       
       Diffstat:
         M dedup.c                             |      15 +++++++++++++--
         M types.c                             |       8 --------
       
       2 files changed, 13 insertions(+), 10 deletions(-)
       ---
 (DIR) diff --git a/dedup.c b/dedup.c
       @@ -106,9 +106,20 @@ print_stats(struct stats *st)
        static void
        append_snap(struct snapshot *snap)
        {
       +        if (mul_overflow(snap->nr_blk_descs, BLK_DESC_LEN))
       +                errx(1, "%s: overflow", __func__);
       +        snap->size = snap->nr_blk_descs * BLK_DESC_LEN;
       +
       +        if (add_overflow(SNAPSHOT_LEN, snap->size))
       +                errx(1, "%s: overflow", __func__);
       +        snap->size += SNAPSHOT_LEN;
       +
                xlseek(ifd, snap_hdr.size, SEEK_SET);
                write_snapshot(ifd, snap);
                write_snapshot_blk_descs(ifd, snap);
       +
       +        if (add_overflow(snap_hdr.size, snap->size))
       +                errx(1, "%s: overflow", __func__);
                snap_hdr.size += snap->size;
                snap_hdr.nr_snapshots++;
        }
       @@ -136,11 +147,11 @@ grow_snap(struct snapshot *snap, uint64_t nr_blk_descs)
                size_t size;
        
                if (mul_overflow(nr_blk_descs, sizeof(snap->blk_desc[0])))
       -                errx(1, "grow_snap: overflow");
       +                errx(1, "%s: overflow", __func__);
                size = nr_blk_descs * sizeof(snap->blk_desc[0]);
        
                if (add_overflow(size, sizeof(*snap)))
       -                errx(1, "grow_snap: overflow");
       +                errx(1, "%s: overflow", __func__);
                size += sizeof(*snap);
        
                snap = realloc(snap, size);
 (DIR) diff --git a/types.c b/types.c
       @@ -184,14 +184,6 @@ write_snapshot(int fd, struct snapshot *snap)
                char fmt[BUFSIZ];
                int n;
        
       -        if (mul_overflow(snap->nr_blk_descs, BLK_DESC_LEN))
       -                errx(1, "write_snapshot: overflow");
       -        snap->size = snap->nr_blk_descs * BLK_DESC_LEN;
       -
       -        if (add_overflow(SNAPSHOT_LEN, snap->size))
       -                errx(1, "write_snapshot: overflow");
       -        snap->size += SNAPSHOT_LEN;
       -
                snprintf(fmt, sizeof(fmt), "q'%d'%dq", MSGSIZE, MDSIZE);
                n = pack(buf, fmt,
                         snap->size,