user32: fix buffer length thinko in dde_client.c (resend)

Dan Kegel dank at kegel.com
Mon Jun 23 00:37:11 CDT 2008


Fix a "forgot to divide by sizeof(WCHAR)" thinko.  I only
superficially understand the code, but the fix makes sense to me.

Gets rid of 56 errors like

 Use of uninitialised value of size 4
   at  wcstombs_sbcs (wctomb.c:155)
   by  wine_cp_wcstombs (wctomb.c:457)
   by  WideCharToMultiByte (locale.c:1936)
   by  WDML_BuildExecuteCommand (dde_client.c:604)
   by  WDML_ClientQueueExecute (dde_client.c:651)
   by  DdeClientTransaction (dde_client.c:1156)
   by  dde_connect (shlexec.c:878)
   by  execute_from_key (shlexec.c:948)
   by  SHELL_quote_and_execute (shlexec.c:1393)
   by  SHELL_execute (shlexec.c:1753)
   by  ShellExecuteExA (shlexec.c:1847)
   by  shell_execute_ex (shlexec.c:169)
   by  ddeThread (shlexec.c:1200)
   by  ??? (thread.c:128)
   by  call_thread_func (thread.c:383)
   by  start_thread (thread.c:443)
   by  start_thread (in /lib/tls/i686/cmov/libpthread-2.7.so)
   by  clone (in /lib/tls/i686/cmov/libc-2.7.so)
 Uninitialised value was created by a stack allocation
   at  dde_connect (shlexec.c:750)

(And as a result, leaves the unused part of the output buffer unset,
which causes three new valgrind warnings on write to socket,
but that can be dealt with later, it's less serious.)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: user32-dde_client-wchar.patch
Type: text/x-diff
Size: 1657 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080622/6227812e/attachment.patch 


More information about the wine-patches mailing list