Return-Path: X-Original-To: apmail-apr-commits-archive@www.apache.org Delivered-To: apmail-apr-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6B1CB11978 for ; Sun, 22 Jun 2014 15:10:45 +0000 (UTC) Received: (qmail 77932 invoked by uid 500); 22 Jun 2014 15:10:45 -0000 Delivered-To: apmail-apr-commits-archive@apr.apache.org Received: (qmail 77877 invoked by uid 500); 22 Jun 2014 15:10:45 -0000 Mailing-List: contact commits-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: Reply-To: dev@apr.apache.org List-Id: Delivered-To: mailing list commits@apr.apache.org Received: (qmail 77866 invoked by uid 99); 22 Jun 2014 15:10:45 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 22 Jun 2014 15:10:45 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 22 Jun 2014 15:10:46 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 6C409238889B; Sun, 22 Jun 2014 15:10:21 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1604598 - in /apr/apr/trunk: CHANGES tables/apr_skiplist.c Date: Sun, 22 Jun 2014 15:10:21 -0000 To: commits@apr.apache.org From: covener@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140622151021.6C409238889B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: covener Date: Sun Jun 22 15:10:20 2014 New Revision: 1604598 URL: http://svn.apache.org/r1604598 Log: apr_skiplist becomes corrupt when nodes are reused. Submitted By: Takashi Sato , covener committed By: covener Modified: apr/apr/trunk/CHANGES apr/apr/trunk/tables/apr_skiplist.c Modified: apr/apr/trunk/CHANGES URL: http://svn.apache.org/viewvc/apr/apr/trunk/CHANGES?rev=1604598&r1=1604597&r2=1604598&view=diff ============================================================================== --- apr/apr/trunk/CHANGES [utf-8] (original) +++ apr/apr/trunk/CHANGES [utf-8] Sun Jun 22 15:10:20 2014 @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes for APR 2.0.0 + *) apr_skiplist: Fix potential corruption of skiplists leading to + results or crashes. [Takashi Sato , Eric Covener] + PR 56654. + *) apr_skiplist: Add apr_skiplist_add() to support multiple values. *) apr_allocator: Be less wasteful and don't return a memnode that is Modified: apr/apr/trunk/tables/apr_skiplist.c URL: http://svn.apache.org/viewvc/apr/apr/trunk/tables/apr_skiplist.c?rev=1604598&r1=1604597&r2=1604598&view=diff ============================================================================== --- apr/apr/trunk/tables/apr_skiplist.c (original) +++ apr/apr/trunk/tables/apr_skiplist.c Sun Jun 22 15:10:20 2014 @@ -379,11 +379,9 @@ static apr_skiplistnode *insert_compare( (apr_skiplistnode *)apr_skiplist_alloc(sl, sizeof(apr_skiplistnode)); sl->top->up->down = sl->top; sl->top = sl->topend = sl->top->up; -#if 0 sl->top->prev = sl->top->next = sl->top->nextindex = sl->top->previndex = sl->top->up = NULL; sl->top->data = NULL; -#endif sl->top->sl = sl; } ch = sl->height;