@@ -129,6 +129,12 @@ msc_engine *modsecurity_create(apr_pool_t *mp, int processing_mode) {
129129 */
130130int modsecurity_init (msc_engine * msce , apr_pool_t * mp ) {
131131 apr_status_t rc ;
132+ apr_file_t * auditlog_lock_name ;
133+ apr_file_t * geo_lock_name ;
134+ apr_file_t * dbm_lock_name ;
135+
136+ // use temp path template for lock files
137+ char * path = apr_pstrcat (p , temp_dir , "/modsec-lock-tmp.XXXXXX" , NULL );
132138
133139 msce -> auditlog_lock = msce -> geo_lock = NULL ;
134140#ifdef GLOBAL_COLLECTION_LOCK
@@ -146,11 +152,12 @@ int modsecurity_init(msc_engine *msce, apr_pool_t *mp) {
146152 curl_global_init (CURL_GLOBAL_ALL );
147153#endif
148154 /* Serial audit log mutext */
149- tmpnam (auditlog_lock_name );
155+ rc = apr_file_mktemp (& auditlog_lock_name , path , 0 , p )
156+ if (rc != APR_SUCCESS ) {
157+ return -1
158+ }
150159 rc = apr_global_mutex_create (& msce -> auditlog_lock , auditlog_lock_name , APR_LOCK_DEFAULT , mp );
151160 if (rc != APR_SUCCESS ) {
152- //ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, "mod_security: Could not create modsec_auditlog_lock");
153- //return HTTP_INTERNAL_SERVER_ERROR;
154161 return -1 ;
155162 }
156163
@@ -168,7 +175,10 @@ int modsecurity_init(msc_engine *msce, apr_pool_t *mp) {
168175 }
169176#endif /* SET_MUTEX_PERMS */
170177
171- tmpnam (geo_lock_name );
178+ rc = apr_file_mktemp (& geo_lock_name , path , 0 , p )
179+ if (rc != APR_SUCCESS ) {
180+ return -1
181+ }
172182 rc = apr_global_mutex_create (& msce -> geo_lock , geo_lock_name , APR_LOCK_DEFAULT , mp );
173183 if (rc != APR_SUCCESS ) {
174184 return -1 ;
@@ -186,7 +196,10 @@ int modsecurity_init(msc_engine *msce, apr_pool_t *mp) {
186196#endif /* SET_MUTEX_PERMS */
187197
188198#ifdef GLOBAL_COLLECTION_LOCK
189- tmpnam (dbm_lock_name );
199+ rc = apr_file_mktemp (& dbm_lock_name , path , 0 , p )
200+ if (rc != APR_SUCCESS ) {
201+ return -1
202+ }
190203 rc = apr_global_mutex_create (& msce -> dbm_lock , dbm_lock_name , APR_LOCK_DEFAULT , mp );
191204 if (rc != APR_SUCCESS ) {
192205 return -1 ;
0 commit comments