Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 5287 invoked from network); 14 Apr 2005 12:52:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 14 Apr 2005 12:52:26 -0000 Received: (qmail 40125 invoked by uid 500); 14 Apr 2005 12:52:24 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 40031 invoked by uid 500); 14 Apr 2005 12:52:22 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 40013 invoked by uid 99); 14 Apr 2005 12:52:22 -0000 X-ASF-Spam-Status: No, hits=0.1 required=10.0 tests=FORGED_RCVD_HELO X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from zencod.rain.fr (HELO nsomailserver.netsecureone.com) (217.167.6.58) by apache.org (qpsmtpd/0.28) with ESMTP; Thu, 14 Apr 2005 05:52:21 -0700 Received: from ntoyle ([192.168.5.33]) by nsomailserver.netsecureone.com with Microsoft SMTPSVC(5.0.2195.6713); Thu, 14 Apr 2005 14:56:36 +0200 Reply-To: From: "Yann Lavictoire" To: Subject: [PATCH] apr-1.1.1/locks/win32/thread_cond.c and apr-1.1.1/dso/win32 Date: Thu, 14 Apr 2005 14:54:22 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527 Importance: Normal X-OriginalArrivalTime: 14 Apr 2005 12:56:37.0746 (UTC) FILETIME=[651A8520:01C540F1] X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N 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. --- 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; } --- 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; }