[ros-dev] [ros-diffs] [janderwald] 40694: - Fix allocation of CM_RESOURCE_LIST - Might fix bug 4354 See issue #4354 for more details.

Timo Kreuzer timo.kreuzer at web.de
Sat Apr 25 14:41:45 CEST 2009


Isn't that actually the same?

It also ignores the number of full descriptors, which I guess is wrong.
And it looks like the whole parsing code is broken. It ignores the
number of partial descriptors and does FullList++

Timo

janderwald at svn.reactos.org schrieb:
> Author: janderwald
> Date: Sat Apr 25 16:05:08 2009
> New Revision: 40694
>
> URL: http://svn.reactos.org/svn/reactos?rev=40694&view=rev
> Log:
> - Fix allocation of CM_RESOURCE_LIST
> - Might fix bug 4354
> See issue #4354 for more details.
>
> Modified:
>     trunk/reactos/drivers/video/videoprt/dispatch.c
>
> Modified: trunk/reactos/drivers/video/videoprt/dispatch.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/videoprt/dispatch.c?rev=40694&r1=40693&r2=40694&view=diff
> ==============================================================================
> --- trunk/reactos/drivers/video/videoprt/dispatch.c [iso-8859-1] (original)
> +++ trunk/reactos/drivers/video/videoprt/dispatch.c [iso-8859-1] Sat Apr 25 16:05:08 2009
> @@ -340,9 +340,11 @@
>  
>        /* Save the resource list */
>        ResourceCount = AllocatedResources->List[0].PartialResourceList.Count;
> -      ResourceListSize =
> -         FIELD_OFFSET(CM_RESOURCE_LIST, List[0].PartialResourceList.
> -                      PartialDescriptors[ResourceCount]);
> +      ResourceListSize = sizeof(CM_RESOURCE_LIST);
> +
> +      if (ResourceCount > 1)
> +         ResourceListSize += (ResourceCount-1) * sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR);
> +
>        DeviceExtension->AllocatedResources = ExAllocatePool(PagedPool, ResourceListSize);
>        if (DeviceExtension->AllocatedResources == NULL)
>        {
>
>
>   



More information about the Ros-dev mailing list