apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Jagielski <...@jaguNET.com>
Subject Re: svn commit: r1604598 - in /apr/apr/trunk: CHANGES tables/apr_skiplist.c
Date Tue, 24 Jun 2014 14:57:43 GMT
Is this suitable for 1.5 and 1.6 as well?

On Jun 22, 2014, at 11:10 AM, covener@apache.org wrote:

> 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 <takashi tks st>, 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 <takashi tks st>, 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;
> 
> 


Mime
View raw message