From 1ec5b2905484b7904aabb01f56c70265fb538c82 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 29 May 2006 07:42:02 +0000 Subject: More size shrinkage. --- archival/libunarchive/data_extract_to_buffer.c | 17 +++-------------- archival/libunarchive/decompress_bunzip2.c | 3 +-- archival/libunarchive/get_header_ar.c | 15 ++------------- archival/libunarchive/get_header_cpio.c | 21 ++++----------------- archival/libunarchive/get_header_tar.c | 6 ++---- archival/libunarchive/rangecoder.h | 4 ++-- 6 files changed, 14 insertions(+), 52 deletions(-) (limited to 'archival/libunarchive') diff --git a/archival/libunarchive/data_extract_to_buffer.c b/archival/libunarchive/data_extract_to_buffer.c index 1255fe1da..3eaca98b3 100644 --- a/archival/libunarchive/data_extract_to_buffer.c +++ b/archival/libunarchive/data_extract_to_buffer.c @@ -1,17 +1,7 @@ /* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * Copyright 2002 Glenn McGrath * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ #include "libbb.h" @@ -21,8 +11,7 @@ void data_extract_to_buffer(archive_handle_t *archive_handle) { const unsigned int size = archive_handle->file_header->size; - archive_handle->buffer = xmalloc(size + 1); + archive_handle->buffer = xzalloc(size + 1); archive_xread_all(archive_handle, archive_handle->buffer, size); - archive_handle->buffer[size] = '\0'; } diff --git a/archival/libunarchive/decompress_bunzip2.c b/archival/libunarchive/decompress_bunzip2.c index 5e26ffd9f..ae96ea375 100644 --- a/archival/libunarchive/decompress_bunzip2.c +++ b/archival/libunarchive/decompress_bunzip2.c @@ -644,8 +644,7 @@ static int start_bunzip(bunzip_data **bdp, int in_fd, unsigned char *inbuf, /* Allocate bunzip_data. Most fields initialize to zero. */ - bd=*bdp=xmalloc(i); - memset(bd,0,sizeof(bunzip_data)); + bd=*bdp=xzalloc(i); /* Setup input buffer */ diff --git a/archival/libunarchive/get_header_ar.c b/archival/libunarchive/get_header_ar.c index 385f33dbf..69c4bf2b2 100644 --- a/archival/libunarchive/get_header_ar.c +++ b/archival/libunarchive/get_header_ar.c @@ -1,17 +1,6 @@ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. +/* Copyright 2001 Glenn McGrath. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ #include diff --git a/archival/libunarchive/get_header_cpio.c b/archival/libunarchive/get_header_cpio.c index 2bbcd8e5d..f54b5af69 100644 --- a/archival/libunarchive/get_header_cpio.c +++ b/archival/libunarchive/get_header_cpio.c @@ -1,17 +1,6 @@ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. +/* Copyright 2002 Laurence Anderson * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ #include @@ -85,9 +74,8 @@ char get_header_cpio(archive_handle_t *archive_handle) file_header->size = tmpsize; } - file_header->name = (char *) xmalloc(namesize + 1); + file_header->name = (char *) xzalloc(namesize + 1); archive_xread_all(archive_handle, file_header->name, namesize); /* Read in filename */ - file_header->name[namesize] = '\0'; archive_handle->offset += namesize; /* Update offset amount and skip padding before file contents */ @@ -113,9 +101,8 @@ char get_header_cpio(archive_handle_t *archive_handle) } if (S_ISLNK(file_header->mode)) { - file_header->link_name = (char *) xmalloc(file_header->size + 1); + file_header->link_name = (char *) xzalloc(file_header->size + 1); archive_xread_all(archive_handle, file_header->link_name, file_header->size); - file_header->link_name[file_header->size] = '\0'; archive_handle->offset += file_header->size; file_header->size = 0; /* Stop possible seeks in future */ } else { diff --git a/archival/libunarchive/get_header_tar.c b/archival/libunarchive/get_header_tar.c index c9308f906..f3f04b582 100644 --- a/archival/libunarchive/get_header_tar.c +++ b/archival/libunarchive/get_header_tar.c @@ -168,17 +168,15 @@ char get_header_tar(archive_handle_t *archive_handle) break; #ifdef CONFIG_FEATURE_TAR_GNU_EXTENSIONS case 'L': { - longname = xmalloc(file_header->size + 1); + longname = xzalloc(file_header->size + 1); archive_xread_all(archive_handle, longname, file_header->size); - longname[file_header->size] = '\0'; archive_handle->offset += file_header->size; return(get_header_tar(archive_handle)); } case 'K': { - linkname = xmalloc(file_header->size + 1); + linkname = xzalloc(file_header->size + 1); archive_xread_all(archive_handle, linkname, file_header->size); - linkname[file_header->size] = '\0'; archive_handle->offset += file_header->size; file_header->name = linkname; diff --git a/archival/libunarchive/rangecoder.h b/archival/libunarchive/rangecoder.h index e43ec3908..b806eebf6 100644 --- a/archival/libunarchive/rangecoder.h +++ b/archival/libunarchive/rangecoder.h @@ -36,12 +36,12 @@ static void rc_read(rc_t * rc) } /* Called once */ -static ATTRIBUTE_ALWAYS_INLINE void rc_init(rc_t * rc, int fd, int buffer_size) +static void rc_init(rc_t * rc, int fd, int buffer_size) { int i; rc->fd = fd; - rc->buffer = malloc(buffer_size); + rc->buffer = xmalloc(buffer_size); rc->buffer_size = buffer_size; rc->buffer_end = rc->buffer + rc->buffer_size; rc->ptr = rc->buffer_end; -- cgit v1.2.3