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); 
  
  
  

Reply via email to