apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yann Lavictoire" <ylavicto...@netsecureone.com>
Subject [PATCH] apr-1.1.1/locks/win32/thread_cond.c and apr-1.1.1/dso/win32
Date Thu, 14 Apr 2005 12:54:22 GMT
Hi,

In "apr-1.1.1/locks/win32/thread_cond.c:apr_thread_cond_create()": the "pool_cleanup_register()"
call is missing (ie. 2
HANDLEs leakage if the pool is "externally" destroyed).

In "apr-1.1.1/dso/win32/dso.c:apr_dso_sym()" (_WIN32_WCE only): an inversion in the args of
apr_conv_utf8_to_ucs2() can
lead to unspecified behaviour (following "GetProcAddressW()" is called with an uninitialized
(stack) filename).

Bye,
Yann.

<BOP "apr-1.1.1/locks/win32/thread_cond.c">
--- thread_cond-old.c	2005-04-14 12:38:02.000000000 +0000
+++ thread_cond.c	2005-04-14 12:53:38.000000000 +0000
@@ -38,6 +38,8 @@
     (*cond)->mutex = CreateMutex(NULL, FALSE, NULL);
     (*cond)->signal_all = 0;
     (*cond)->num_waiting = 0;
+    apr_pool_cleanup_register((*cond)->pool, (*cond), thread_cond_cleanup,
+                              apr_pool_cleanup_null);
     return APR_SUCCESS;
 }
<EOP>

<BOP "apr-1.1.1/dso/win32/dso.c">
--- dso-old.c	2004-11-24 20:51:52.000000000 +0000
+++ dso.c	2005-04-14 12:33:33.000000000 +0000
@@ -140,7 +140,7 @@
     apr_wchar_t wsymname[256];
     apr_status_t rv;

-    rv = apr_conv_utf8_to_ucs2(wsymname, &wsymlen, symname, &symlen);
+    rv = apr_conv_utf8_to_ucs2(symname, &symlen, wsymname, &wsymlen);
     if (rv != APR_SUCCESS) {
         return rv;
     }
<EOP>


Mime
View raw message