flaky regression(?) - patch.py?id=1012510895681951425038278

lawson_whitney at juno.com lawson_whitney at juno.com
Tue Feb 5 22:12:26 CST 2002


On Tue, 5 Feb 2002 lawson_whitney at juno.com wrote:

> I'll see if Eric's recent patches help, and/or running it on a
> wineconsole instead of a linux virtual console or xterm.

The patches I was thinking of were already committed.  DebugBreak()
works fine when the Winelib program is run with wineconsole (as long as
stdin is a terminal, not a file or a pipe), but I got so lost in
ICOM_THIS that I couldn't lead winedbg to the variable I wanted it to
watch.  Fortunately, If I take on faith that comments do not cause
errors (even with ICOM), that patch doesn't actually _do_ very much,
and I hit it on the second guess.

This fixes the problem I reported.  Maybe we should make the filename
longer to accomodate the trailing \0, maybe because it is a fixed
length, the trailing \0 is gratuitous, but as it was, that stepped all
over bigBlockSizeBits, generally disrupted my app, and looks sort of
like an off by one error.  I'll attach a copy in case your mailer folds
it.

diff -ur was/dlls/ole32/storage32.c is/dlls/ole32/storage32.c
--- was/dlls/ole32/storage32.c	Mon Feb  4 17:31:22 2002
+++ is/dlls/ole32/storage32.c	Tue Feb  5 22:11:20 2002
@@ -5615,7 +5615,7 @@
   /* prepare the file name string given in lieu of the root property name */
   GetFullPathNameW(pwcsName, MAX_PATH, fullname, NULL);
   memcpy(newStorage->filename, fullname, PROPERTY_NAME_BUFFER_LEN);
-  newStorage->filename[PROPERTY_NAME_BUFFER_LEN] = '\0';
+  newStorage->filename[PROPERTY_NAME_BUFFER_LEN-1] = '\0';

   /*
    * Get an "out" pointer for the caller.

Lawson

Installation is performed in the reverse order of removal.
                    - British Leyland shop manual

-------------- next part --------------
diff -ur was/dlls/ole32/storage32.c is/dlls/ole32/storage32.c
--- was/dlls/ole32/storage32.c	Mon Feb  4 17:31:22 2002
+++ is/dlls/ole32/storage32.c	Tue Feb  5 22:11:20 2002
@@ -5615,7 +5615,7 @@
   /* prepare the file name string given in lieu of the root property name */
   GetFullPathNameW(pwcsName, MAX_PATH, fullname, NULL);
   memcpy(newStorage->filename, fullname, PROPERTY_NAME_BUFFER_LEN);
-  newStorage->filename[PROPERTY_NAME_BUFFER_LEN] = '\0';
+  newStorage->filename[PROPERTY_NAME_BUFFER_LEN-1] = '\0';
 
   /*
    * Get an "out" pointer for the caller.


More information about the wine-devel mailing list