You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Jim Jagielski <ji...@jaguNET.com> on 2014/06/24 16:57:43 UTC

Re: svn commit: r1604598 - in /apr/apr/trunk: CHANGES tables/apr_skiplist.c

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;
> 
> 


Re: svn commit: r1604598 - in /apr/apr/trunk: CHANGES tables/apr_skiplist.c

Posted by Eric Covener <co...@gmail.com>.
all synched up to 1.5 and 1.6

On Tue, Jun 24, 2014 at 11:38 AM, Eric Covener <co...@gmail.com> wrote:
> On Tue, Jun 24, 2014 at 10:57 AM, Jim Jagielski <ji...@jagunet.com> wrote:
>> Is this suitable for 1.5 and 1.6 as well?
>
> Yes, thanks for reminder, I paused to give Takashi time to verify it
> is sufficient and he has already confirmed in bugzilla.
>
> I did see a weird conflict backporting the skiplist test. I did not
> look in detail, but it seemed like even 1.6 had far fewer tests.
>
> I will backport soon.



-- 
Eric Covener
covener@gmail.com

Re: svn commit: r1604598 - in /apr/apr/trunk: CHANGES tables/apr_skiplist.c

Posted by Eric Covener <co...@gmail.com>.
On Tue, Jun 24, 2014 at 10:57 AM, Jim Jagielski <ji...@jagunet.com> wrote:
> Is this suitable for 1.5 and 1.6 as well?

Yes, thanks for reminder, I paused to give Takashi time to verify it
is sufficient and he has already confirmed in bugzilla.

I did see a weird conflict backporting the skiplist test. I did not
look in detail, but it seemed like even 1.6 had far fewer tests.

I will backport soon.