[v3 3/3] d3dx9: Remove redundant parameter size check in set_constants().
Matteo Bruni
matteo.mystral at gmail.com
Fri Jun 16 10:29:30 CDT 2017
2017-06-15 0:00 GMT+02:00 Paul Gofman <gofmanp at gmail.com>:
> Signed-off-by: Paul Gofman <gofmanp at gmail.com>
> ---
> v3:
> no changes.
> ---
> dlls/d3dx9_36/preshader.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/dlls/d3dx9_36/preshader.c b/dlls/d3dx9_36/preshader.c
> index 2785ca3..0bc31cb 100644
> --- a/dlls/d3dx9_36/preshader.c
> +++ b/dlls/d3dx9_36/preshader.c
> @@ -1178,11 +1178,6 @@ static void set_constants(struct d3dx_regstore *rs, struct d3dx_const_tab *const
> param_offset = i + j * info.major;
> else
> param_offset = i * info.minor + j;
> - if (param_offset * sizeof(unsigned int) >= param->bytes)
> - {
> - WARN("Parameter data is too short, name %s, component %u.\n", debugstr_a(param->name), i);
> - break;
> - }
> out[offset] = data[param_offset];
Is there anything else covering this case though? If I'm not mistaken
such a parameter / constant would be accepted currently so just
dropping the check would potentially allow broken preshaders to read
outside of the parameter data.
Now I certainly agree that the check shouldn't be there, it should
probably be in init_set_constants_param() instead. If this is already
checked somewhere in the code then I'm okay with the patch as is.
More information about the wine-devel
mailing list