[PATCH] odbccp32: Only pass supported values to ConfigDSN functions

Hans Leidekker hans at codeweavers.com
Thu Nov 12 04:32:53 CST 2020


On Thu, 2020-11-12 at 20:48 +1100, Alistair Leslie-Hughes wrote:
> Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=50116
> 
> Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
> ---
>  dlls/odbccp32/odbccp32.c | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/dlls/odbccp32/odbccp32.c b/dlls/odbccp32/odbccp32.c
> index c842872fa6e..57e2b3ec55f 100644
> --- a/dlls/odbccp32/odbccp32.c
> +++ b/dlls/odbccp32/odbccp32.c
> @@ -338,6 +338,23 @@ fail:
>      return FALSE;
>  }
>  
> +static WORD fixup_config_request(WORD request)
> +{
> +    switch(request)
> +    {
> +        case ODBC_ADD_SYS_DSN:
> +            return ODBC_ADD_DSN;
> +        case ODBC_CONFIG_SYS_DSN:
> +            return ODBC_CONFIG_DSN;
> +        case ODBC_REMOVE_SYS_DSN:
> +            return ODBC_REMOVE_DSN;
> +        case ODBC_REMOVE_DEFAULT_DSN:
> +            FIXME("ODBC_REMOVE_DEFAULT_DSN currently not handled\n");
> +    }
> +
> +    return request;
> +}

What should be done here is more like mapping the request value and
setting the config mode accordingly. I'll send a patch.





More information about the wine-devel mailing list