From 8bbde697826666f2bc8852a15da7c7f18124351e Mon Sep 17 00:00:00 2001 From: David Raynor Date: Wed, 7 Aug 2013 15:30:43 -0400 Subject: [PATCH] unrar_iface: unrar_open cleanup --- libclamunrar_iface/unrar_iface.c | 41 +++++++++++++------------------- 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/libclamunrar_iface/unrar_iface.c b/libclamunrar_iface/unrar_iface.c index 6b577b08e2..f53afb378d 100644 --- a/libclamunrar_iface/unrar_iface.c +++ b/libclamunrar_iface/unrar_iface.c @@ -314,21 +314,14 @@ int unrar_open(int fd, const char *dirname, unrar_state_t *state) unrar_comment_header_t *comment_header; unrar_dbgmsg("UNRAR: RAR main comment\n"); offset = lseek(fd, 0, SEEK_CUR); - if (offset == -1) { - unrar_dbgmsg("UNRAR: seek: lseek() call failed in unrar_open\n"); - free(main_hdr); - free(state->comment_dir); - free(unpack_data); - return UNRAR_ERR; - } + if (offset == -1) { + unrar_dbgmsg("UNRAR: seek: lseek() call failed in unrar_open\n"); + free(main_hdr); + free(state->comment_dir); + free(unpack_data); + return UNRAR_ERR; + } unrar_dbgmsg("UNRAR: Offset: %x\n", offset); - if(offset < 0){ - unrar_dbgmsg("UNRAR: Error Offset: %d\n", offset); - free(main_hdr); - free(state->comment_dir); - free(unpack_data); - return UNRAR_ERR; - } comment_header = read_header(fd, COMM_HEAD); if(comment_header) { unrar_dbgmsg("UNRAR: Comment type: 0x%.2x\n", comment_header->head_type); @@ -363,16 +356,16 @@ int unrar_open(int fd, const char *dirname, unrar_state_t *state) } free(comment_header); } - if (lseek(fd, offset, SEEK_SET) == -1) { - unrar_dbgmsg("UNRAR: seek: call to lseek() failed in unrar_open: %ld\n", offset); - free(main_hdr); - ppm_destructor(&unpack_data->ppm_data); - rar_init_filters(unpack_data); - unpack_free_data(unpack_data); - free(unpack_data); - free(state->comment_dir); - return UNRAR_ERR; - } + if (lseek(fd, offset, SEEK_SET) == -1) { + unrar_dbgmsg("UNRAR: seek: call to lseek() failed in unrar_open: %ld\n", offset); + free(main_hdr); + ppm_destructor(&unpack_data->ppm_data); + rar_init_filters(unpack_data); + unpack_free_data(unpack_data); + free(unpack_data); + free(state->comment_dir); + return UNRAR_ERR; + } } if(main_hdr->head_size > SIZEOF_NEWMHD) {