Skip to content

Commit da6707a

Browse files
committed
Rearranging some buffers
1 parent bda3970 commit da6707a

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/fs.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,6 @@ crypt4gh_sqlite_read(fuse_req_t req, fuse_ino_t ino, size_t size,
629629
size_t append_offset = fh->prepend_size + fh->payload_size;
630630

631631
struct fuse_buf *prepend_fbuf = NULL, *append_fbuf = NULL, *data_fbuf = NULL;
632-
char *buf=NULL;
633632
size_t prepend_len = 0;
634633
size_t append_len = 0;
635634
int err = 0;
@@ -691,16 +690,15 @@ crypt4gh_sqlite_read(fuse_req_t req, fuse_ino_t ino, size_t size,
691690

692691
if(fh->header){ // Try Crypt4GH data
693692

694-
buf = calloc(data_size, sizeof(char));
695-
if(!buf){ err = -ENOMEM; goto error; }
693+
data_fbuf->mem = calloc(data_size, sizeof(char));
694+
if(!data_fbuf->mem){ err = -ENOMEM; goto error; }
696695

697696
D3("encrypted data: offset %zu, size: %zu", data_offset, data_size);
698-
err = c4gh_read(data_offset, data_size, fh, buf);
697+
err = c4gh_read(data_offset, data_size, fh, data_fbuf->mem);
699698
if(err < 0){ D1("c4gh_read error: %s", strerror(-err)); goto error; }
700699

701700
data_fbuf->size = data_size;
702701
//data_fbuf->flags = 0;
703-
data_fbuf->mem = buf;
704702
//append_fbuf->pos = ((offset < append_offset) ? 0 : (offset - append_offset)); // not used with .mem
705703

706704
} else { // not Crypt4GH
@@ -760,8 +758,10 @@ crypt4gh_sqlite_read(fuse_req_t req, fuse_ino_t ino, size_t size,
760758

761759
if(prepend_fbuf) free(prepend_fbuf);
762760
if(append_fbuf) free(append_fbuf);
763-
if(data_fbuf) free(data_fbuf);
764-
if(buf) free(buf);
761+
if(data_fbuf){
762+
if(data_fbuf->mem) free (data_fbuf->mem);
763+
free(data_fbuf);
764+
}
765765

766766
if(err) fuse_reply_err(req, -err);
767767
}

0 commit comments

Comments
 (0)