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

[email protected] 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)
>        {
>
>
>   

_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to