[PATCHv2] xkb: replace xstrdup with strdup in Win32System

Peter Hutterer peter.hutterer at who-t.net
Sun Jun 6 16:14:14 PDT 2010


On Mon, Jun 07, 2010 at 03:24:32AM +0700, Mikhail Gusarov wrote:
> The only caller of Win32System is XkbDDXCompileKeymapByNames. Add allocation
> check there to avoid passing NULL pointers to various functions down the code.
> 
> Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
> ---
> 
> In new version of patch NULL return value of Xprintf is explicitly guarded and
> dealt with.
> 
>  xkb/ddxLoad.c |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c
> index b1d6294..f7bd667 100644
> --- a/xkb/ddxLoad.c
> +++ b/xkb/ddxLoad.c
> @@ -103,7 +103,7 @@ Win32System(const char *cmdline)
>      STARTUPINFO si;
>      PROCESS_INFORMATION pi;
>      DWORD dwExitCode;
> -    char *cmd = xstrdup(cmdline);
> +    char *cmd = strdup(cmdline);
>  
>      ZeroMemory( &si, sizeof(si) );
>      si.cb = sizeof(si);
> @@ -235,6 +235,11 @@ XkbDDXCompileKeymapByNames(	XkbDescPtr		xkb,
>  		  xkm_output_dir, keymap);
>  
>      free(xkbbasedirflag);
> +
> +    if (!buf) {
> +        LogMessage(X_Error, "XKB: Could not invoke xkbcomp: not enough memory\n");
> +        return FALSE;
> +    }
>      
>  #ifndef WIN32
>      out= Popen(buf,"w");
> -- 
> 1.7.1

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

Cheers,
  Peter


More information about the xorg-devel mailing list