From b380f51a813fb2f9f23d7632bc2e4202be110047 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Sun, 25 Apr 1999 14:55:49 +0000 Subject: [PATCH] (erase_file): don't malloc git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6044 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/fcache.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/krb5/fcache.c b/lib/krb5/fcache.c index bac5abece..dbe0af9b5 100644 --- a/lib/krb5/fcache.c +++ b/lib/krb5/fcache.c @@ -97,7 +97,7 @@ erase_file(const char *filename) { int fd; off_t pos; - char *p; + char buf[128]; fd = open(filename, O_RDWR | O_BINARY); if(fd < 0){ @@ -108,10 +108,9 @@ erase_file(const char *filename) } pos = lseek(fd, 0, SEEK_END); lseek(fd, 0, SEEK_SET); - p = (char*) malloc(pos); - memset(p, 0, pos); - write(fd, p, pos); - free(p); + memset(buf, 0, sizeof(buf)); + while(pos > 0) + pos -= write(fd, buf, sizeof(buf)); close(fd); unlink(filename); return 0;