You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by yl...@apache.org on 2020/05/29 16:01:45 UTC

svn commit: r1878279 - /apr/apr/trunk/file_io/unix/mktemp.c

Author: ylavic
Date: Fri May 29 16:01:45 2020
New Revision: 1878279

URL: http://svn.apache.org/viewvc?rev=1878279&view=rev
Log:
apr_file_mktemp: clear APR_FOPEN_NOCLEANUP if not requested.

apr_os_file_put() adds no cleanup so it forces APR_FOPEN_NOCLEANUP, but when
apr_file_mktemp() adds the cleanup implicitely (unless the user specifies
APR_FOPEN_NOCLEANUP explicitely), it needs to clear APR_FOPEN_NOCLEANUP for
the resulting file.

Modified:
    apr/apr/trunk/file_io/unix/mktemp.c

Modified: apr/apr/trunk/file_io/unix/mktemp.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/file_io/unix/mktemp.c?rev=1878279&r1=1878278&r2=1878279&view=diff
==============================================================================
--- apr/apr/trunk/file_io/unix/mktemp.c (original)
+++ apr/apr/trunk/file_io/unix/mktemp.c Fri May 29 16:01:45 2020
@@ -224,7 +224,10 @@ APR_DECLARE(apr_status_t) apr_file_mktem
         apr_pool_cleanup_register((*fp)->pool, (void *)(*fp),
                                   apr_unix_file_cleanup,
                                   apr_unix_child_file_cleanup);
-    }
+
+        /* Clear APR_FOPEN_NOCLEANUP set by apr_os_file_put() */
+        (*fp)->flags &= ~APR_FOPEN_NOCLEANUP;
+     }
 #endif
     return APR_SUCCESS;
 }