aboutsummaryrefslogtreecommitdiff
path: root/coreutils/tail.c
diff options
context:
space:
mode:
authorMatt Kraai <kraai@debian.org>2000-09-13 02:46:14 +0000
committerMatt Kraai <kraai@debian.org>2000-09-13 02:46:14 +0000
commit322ae93a5e0b78b65831f9fd87fd456eb84d21a1 (patch)
tree5b967e1d873ff6eff8296bf9fda73825f0c55884 /coreutils/tail.c
parentb89075298edf0a471b9046b1f3c8a936e18ead20 (diff)
downloadbusybox-w32-322ae93a5e0b78b65831f9fd87fd456eb84d21a1.tar.gz
busybox-w32-322ae93a5e0b78b65831f9fd87fd456eb84d21a1.tar.bz2
busybox-w32-322ae93a5e0b78b65831f9fd87fd456eb84d21a1.zip
Fix calls to {m,c,re}alloc so that they use x{m,c,re}alloc instead of
segfaulting or handling errors the same way themselves.
Diffstat (limited to 'coreutils/tail.c')
-rw-r--r--coreutils/tail.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/coreutils/tail.c b/coreutils/tail.c
index c940bfef7..dcb4f6742 100644
--- a/coreutils/tail.c
+++ b/coreutils/tail.c
@@ -87,12 +87,12 @@ int tail_stream(int fd)
87 ssize_t f_size=0; 87 ssize_t f_size=0;
88 88
89 bs=BUFSIZ; 89 bs=BUFSIZ;
90 line=malloc(bs); 90 line=xmalloc(bs);
91 while(1) { 91 while(1) {
92 bytes_read=read(fd,line,bs); 92 bytes_read=read(fd,line,bs);
93 if(bytes_read<=0) 93 if(bytes_read<=0)
94 break; 94 break;
95 buffer=realloc(buffer,f_size+bytes_read); 95 buffer=xrealloc(buffer,f_size+bytes_read);
96 memcpy(&buffer[f_size],line,bytes_read); 96 memcpy(&buffer[f_size],line,bytes_read);
97 filelocation=f_size+=bytes_read; 97 filelocation=f_size+=bytes_read;
98 } 98 }
@@ -150,8 +150,8 @@ int tail_stream(int fd)
150void add_file(char *name) 150void add_file(char *name)
151{ 151{
152 ++n_files; 152 ++n_files;
153 files = realloc(files, n_files); 153 files = xrealloc(files, n_files);
154 files[n_files - 1] = (char *) malloc(strlen(name) + 1); 154 files[n_files - 1] = (char *) xmalloc(strlen(name) + 1);
155 strcpy(files[n_files - 1], name); 155 strcpy(files[n_files - 1], name);
156} 156}
157 157
@@ -268,13 +268,13 @@ int tail_main(int argc, char **argv)
268 units=-11; 268 units=-11;
269 if(units>0) 269 if(units>0)
270 units--; 270 units--;
271 fd=malloc(sizeof(int)*n_files); 271 fd=xmalloc(sizeof(int)*n_files);
272 if (n_files == 1) 272 if (n_files == 1)
273#ifndef BB_FEATURE_SIMPLE_TAIL 273#ifndef BB_FEATURE_SIMPLE_TAIL
274 if (!verbose) 274 if (!verbose)
275#endif 275#endif
276 show_headers = 0; 276 show_headers = 0;
277 buffer=malloc(BUFSIZ); 277 buffer=xmalloc(BUFSIZ);
278 for (test = 0; test < n_files; test++) { 278 for (test = 0; test < n_files; test++) {
279 if (show_headers) 279 if (show_headers)
280 printf("==> %s <==\n", files[test]); 280 printf("==> %s <==\n", files[test]);