URI: 
       snap.c: pack/unpack cannot fail - 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 e9be30a4e2a0583a262c06a70e676634a69eae3a
   DIR parent 9d31ed41e0feb2f2c432ef8d8666a6a0476c8f4f
  HTML Author: sin <sin@2f30.org>
       Date:   Sun, 12 May 2019 16:47:49 +0100
       
       snap.c: pack/unpack cannot fail
       
       Diffstat:
         M snap.c                              |      25 +++++++------------------
       
       1 file changed, 7 insertions(+), 18 deletions(-)
       ---
   DIR diff --git a/snap.c b/snap.c
       @@ -106,8 +106,7 @@ initmdhead(struct sctx *sctx)
                        struct shdr *shdr;
        
                        shdr = &sctx->shdr;
       -                if (packshdr(ad, shdr) < 0)
       -                        return -1;
       +                packshdr(ad, shdr);
        
                        if (crypto_secretstream_xchacha20poly1305_init_pull(&state,
                                                                            shdr->header,
       @@ -232,13 +231,10 @@ screat(char *path, int mode, struct sctx **sctx)
                shdr->flags = (VMAJ << VMAJSHIFT) | VMIN;
                shdr->nbd = 0;
        
       -        if (packshdr(buf, shdr) < 0) {
       +        packshdr(buf, shdr);
       +        if (xwrite(fd, buf, SHDRSIZE) != SHDRSIZE) {
                        free(*sctx);
                        close(fd);
       -                return -1;
       -        }
       -
       -        if (xwrite(fd, buf, SHDRSIZE) != SHDRSIZE) {
                        seterr("failed to write snapshot header: %s", strerror(errno));
                        return -1;
                }
       @@ -302,15 +298,12 @@ sopen(char *path, int flags, int mode, struct sctx **sctx)
                shdr = &(*sctx)->shdr;
        
                if (xread(fd, buf, SHDRSIZE) != SHDRSIZE) {
       -                seterr("failed to read snapshot header: %s", strerror(errno));
       -                return -1;
       -        }
       -
       -        if (unpackshdr(buf, shdr) < 0) {
                        free(sctx);
                        close(fd);
       +                seterr("failed to read snapshot header: %s", strerror(errno));
                        return -1;
                }
       +        unpackshdr(buf, shdr);
        
                if (memcmp(shdr->magic, SHDRMAGIC, NSHDRMAGIC) != 0) {
                        free(sctx);
       @@ -420,9 +413,7 @@ ssync(struct sctx *sctx)
                                                                        shdr->header,
                                                                        param.key);
        
       -                if (packshdr(hdr, shdr) < 0)
       -                        return -1;
       -
       +                packshdr(hdr, shdr);
                        if (xwrite(sctx->fd, hdr, SHDRSIZE) != SHDRSIZE) {
                                seterr("failed to write snapshot header: %s", strerror(errno));
                                return -1;
       @@ -450,9 +441,7 @@ ssync(struct sctx *sctx)
                } else {
                        unsigned char hdr[SHDRSIZE];
        
       -                if (packshdr(hdr, shdr) < 0)
       -                        return -1;
       -
       +                packshdr(hdr, shdr);
                        if (xwrite(sctx->fd, hdr, SHDRSIZE) != SHDRSIZE) {
                                seterr("failed to write snapshot header: %s", strerror(errno));
                                return -1;