rbb 99/04/09 08:05:17
Modified: apr/file_io/unix open.c
apr/test testfile.c
Log:
I got rid of the memory leak related to opening and closing files.
Revision Changes Path
1.11 +5 -0 apache-apr/apr/file_io/unix/open.c
Index: open.c
===================================================================
RCS file: /home/cvs/apache-apr/apr/file_io/unix/open.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- open.c 1999/04/08 17:09:30 1.10
+++ open.c 1999/04/09 15:05:15 1.11
@@ -91,6 +91,7 @@
}
if ((flag & APR_EXCL) && !(flag & APR_CREATE)) {
errno = EACCES;
+ free(dafile->fname);
free(dafile);
return NULL;
}
@@ -112,6 +113,7 @@
if (dafile->filedes < 0) {
dafile->filedes = -1;
+ free(dafile->fname);
free(dafile);
return NULL;
}
@@ -121,6 +123,7 @@
}
else {
errno = ENOSTAT;
+ free(dafile->fname);
free(dafile);
return NULL;
}
@@ -130,6 +133,8 @@
{
if (close(file->filedes) == 0) {
file->filedes = -1;
+ free(file->fname);
+ free(file);
return APR_SUCCESS;
}
else {
1.8 +1 -1 apache-apr/apr/test/testfile.c
Index: testfile.c
===================================================================
RCS file: /home/cvs/apache-apr/apr/test/testfile.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- testfile.c 1999/04/09 14:36:59 1.7
+++ testfile.c 1999/04/09 15:05:16 1.8
@@ -152,7 +152,7 @@
}
fprintf(stdout, "\tDeleting file.......");
- status = apr_remove_file(thefile->fname);
+ status = apr_remove_file(filename);
if (status == APR_FAILURE) {
fprintf(stderr, "Couldn't delete the file\n");
exit(-1);