Thread View: gnu.utils.bug
1 messages
1 total messages
Started by Jonathan I. Kamens
Wed, 30 Dec 1992 11:09
tar 1.11.1: more allocations without checking return value
Author: Jonathan I. Kamens
Date: Wed, 30 Dec 1992 11:09
Date: Wed, 30 Dec 1992 11:09
239 lines
8001 bytes
8001 bytes
There are a number of places where memory is allocated without
checking its return value.
*** 1.1 1992/12/30 20:58:42
--- create.c 1992/12/30 21:04:49
***************
*** 943,949 ****
/*
* Make room for our scratch space -- initially is 10 elts long
*/
! sparsearray = (struct sp_array *) malloc(sp_array_size * sizeof(struct sp_array));
for (i = 0; i < sp_array_size; i++) {
sparsearray[i].offset = 0;
sparsearray[i].numbytes = 0;
--- 943,949 ----
/*
* Make room for our scratch space -- initially is 10 elts long
*/
! sparsearray = (struct sp_array *) ck_malloc(sp_array_size * sizeof(struct sp_array));
for (i = 0; i < sp_array_size; i++) {
sparsearray[i].offset = 0;
sparsearray[i].numbytes = 0;
***************
*** 1006,1012 ****
* realloc the scratch area, since we've run out of room --
*/
sparsearray = (struct sp_array *)
! realloc(sparsearray,
2 * sp_array_size * (sizeof(struct sp_array)));
sp_array_size *= 2;
}
--- 1006,1012 ----
* realloc the scratch area, since we've run out of room --
*/
sparsearray = (struct sp_array *)
! ck_realloc(sparsearray,
2 * sp_array_size * (sizeof(struct sp_array)));
sp_array_size *= 2;
}
*** 1.1 1992/12/30 21:06:47
--- diffarch.c 1992/12/30 21:04:48
***************
*** 542,548 ****
/* int amt_read = 0;*/
int size = filesize;
! buf = (char *) malloc(buf_size * sizeof (char));
fill_in_sparse_array();
--- 542,548 ----
/* int amt_read = 0;*/
int size = filesize;
! buf = (char *) ck_malloc(buf_size * sizeof (char));
fill_in_sparse_array();
***************
*** 563,569 ****
* take care to not run out of room in our buffer
*/
while (buf_size < numbytes) {
! buf = (char *) realloc(buf, buf_size * 2 * sizeof(char));
buf_size *= 2;
}
while (numbytes > RECORDSIZE) {
--- 563,569 ----
* take care to not run out of room in our buffer
*/
while (buf_size < numbytes) {
! buf = (char *) ck_realloc(buf, buf_size * 2 * sizeof(char));
buf_size *= 2;
}
while (numbytes > RECORDSIZE) {
***************
*** 641,647 ****
* necessary
*/
sp_array_size = 10;
! sparsearray = (struct sp_array *) malloc(sp_array_size * sizeof(struct sp_array));
/*
* there are at most five of these structures in the header
--- 641,647 ----
* necessary
*/
sp_array_size = 10;
! sparsearray = (struct sp_array *) ck_malloc(sp_array_size * sizeof(struct sp_array));
/*
* there are at most five of these structures in the header
***************
*** 673,679 ****
* scratch area - realloc it
*/
sparsearray = (struct sp_array *)
! realloc(sparsearray,
sp_array_size*2*sizeof(struct sp_array));
sp_array_size *= 2;
}
--- 673,679 ----
* scratch area - realloc it
*/
sparsearray = (struct sp_array *)
! ck_realloc(sparsearray,
sp_array_size*2*sizeof(struct sp_array));
sp_array_size *= 2;
}
*** 1.1 1992/12/30 21:06:12
--- extract.c 1992/12/30 21:04:48
***************
*** 213,219 ****
*/
case LF_SPARSE:
sp_array_size = 10;
! sparsearray = (struct sp_array *) malloc(sp_array_size * sizeof(struct sp_array));
for (i = 0; i < SPARSE_IN_HDR; i++) {
sparsearray[i].offset =
from_oct(1+12, head->header.sp[i].offset);
--- 213,219 ----
*/
case LF_SPARSE:
sp_array_size = 10;
! sparsearray = (struct sp_array *) ck_malloc(sp_array_size * sizeof(struct sp_array));
for (i = 0; i < SPARSE_IN_HDR; i++) {
sparsearray[i].offset =
from_oct(1+12, head->header.sp[i].offset);
***************
*** 243,249 ****
* since we've run out of room --
*/
sparsearray = (struct sp_array *)
! realloc(sparsearray,
2 * sp_array_size * (sizeof(struct sp_array)));
sp_array_size *= 2;
}
--- 243,249 ----
* since we've run out of room --
*/
sparsearray = (struct sp_array *)
! ck_realloc(sparsearray,
2 * sp_array_size * (sizeof(struct sp_array)));
sp_array_size *= 2;
}
***************
*** 355,361 ****
* REAL interesting unless we do this.
*/
namelen = strlen(skipcrud + current_file_name);
! name = (char *) malloc((sizeof(char)) * namelen);
bcopy(skipcrud+current_file_name, name, namelen);
size = hstat.st_size;
extract_sparse_file(fd, &size, hstat.st_size, name);
--- 355,361 ----
* REAL interesting unless we do this.
*/
namelen = strlen(skipcrud + current_file_name);
! name = (char *) ck_malloc((sizeof(char)) * namelen);
bcopy(skipcrud+current_file_name, name, namelen);
size = hstat.st_size;
extract_sparse_file(fd, &size, hstat.st_size, name);
***************
*** 652,659 ****
if (f_modified)
goto set_filestat;
! tmp = (struct saved_dir_info *) malloc (sizeof (struct saved_dir_info));
! tmp->path = malloc (strlen (skipcrud + current_file_name) + 1);
strcpy (tmp->path, skipcrud + current_file_name);
tmp->mode = hstat.st_mode;
tmp->atime = hstat.st_atime;
--- 652,659 ----
if (f_modified)
goto set_filestat;
! tmp = (struct saved_dir_info *) ck_malloc (sizeof (struct saved_dir_info));
! tmp->path = ck_malloc (strlen (skipcrud + current_file_name) + 1);
strcpy (tmp->path, skipcrud + current_file_name);
tmp->mode = hstat.st_mode;
tmp->atime = hstat.st_atime;
*** 1.1 1992/12/30 21:01:17
--- list.c 1992/12/30 21:04:47
***************
*** 387,393 ****
: head->header.arch_name);
if (current_file_name)
free (current_file_name);
! current_file_name = malloc (strlen (name) + 1);
strcpy (current_file_name, name);
name = (next_long_link
--- 387,393 ----
: head->header.arch_name);
if (current_file_name)
free (current_file_name);
! current_file_name = ck_malloc (strlen (name) + 1);
strcpy (current_file_name, name);
name = (next_long_link
***************
*** 395,401 ****
: head->header.arch_linkname);
if (current_link_name)
free (current_link_name);
! current_link_name = malloc (strlen (name) + 1);
strcpy (current_link_name, name);
next_long_link = next_long_name = 0;
--- 395,401 ----
: head->header.arch_linkname);
if (current_link_name)
free (current_link_name);
! current_link_name = ck_malloc (strlen (name) + 1);
strcpy (current_link_name, name);
next_long_link = next_long_name = 0;
*** 1.2 1992/12/14 18:46:23
--- tar.c 1992/12/30 21:04:46
***************
*** 304,310 ****
/* Set default option values */
blocking = DEFBLOCKING; /* From Makefile */
! ar_files = (char **) malloc (sizeof (char *) * 10);
ar_files_len = 10;
n_ar_files = 0;
cur_ar_file = 0;
--- 304,310 ----
/* Set default option values */
blocking = DEFBLOCKING; /* From Makefile */
! ar_files = (char **) ck_malloc (sizeof (char *) * 10);
ar_files_len = 10;
n_ar_files = 0;
cur_ar_file = 0;
Jonathan Kamens jik@MIT.Edu
Aktis, Inc. Moderator, news.answers
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads