[ros-dev] [ros-diffs] [fireball] 32521: - Fix leaking an entry in some cases during ObpFreeCapturedAttributes call. For more details: http://www.reactos.org/forum/viewtopic.php?t=5311.

Alex Ionescu ionucu at videotron.ca
Thu Feb 28 23:59:35 CET 2008


IopFreeIoCompletionPacket has the opposite bug -- there is an
interlocked push (free) even in the ExFreePool case. There should be a
return following the ExFreePool, otherwise we're corrupting memory.

On Thu, Feb 28, 2008 at 11:37 AM,  <fireball at svn.reactos.org> wrote:
> Author: fireball
> Date: Thu Feb 28 14:37:14 2008
> New Revision: 32521
>
> URL: http://svn.reactos.org/svn/reactos?rev=32521&view=rev
> Log:
> - Fix leaking an entry in some cases during ObpFreeCapturedAttributes call. For more details: http://www.reactos.org/forum/viewtopic.php?t=5311.
>
> Modified:
>    trunk/reactos/ntoskrnl/include/internal/ob_x.h
>
> Modified: trunk/reactos/ntoskrnl/include/internal/ob_x.h
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/ob_x.h?rev=32521&r1=32520&r2=32521&view=diff
> ==============================================================================
> --- trunk/reactos/ntoskrnl/include/internal/ob_x.h (original)
> +++ trunk/reactos/ntoskrnl/include/internal/ob_x.h Thu Feb 28 14:37:14 2008
> @@ -290,6 +290,12 @@
>             List->L.FreeMisses++;
>             List->L.Free(Buffer);
>         }
> +        else
> +        {
> +            /* The free was within the Depth */
> +            InterlockedPushEntrySList(&List->L.ListHead,
> +                                      (PSINGLE_LIST_ENTRY)Buffer);
> +        }
>     }
>     else
>     {
>
>
>



-- 
Best regards,
Alex Ionescu


More information about the Ros-dev mailing list