Hi all,
This will be talked about in more detail at WineConf tomorrow, but I
just thought I'd throw this out there as a bit of background to any
discussions.
Adding annotations to function declarations allows Prefast to pick up
certain classes of bugs with varying degrees of false positives. In
particular, with patches like the attached applied
byte-count/element-count mismatches can be detected with no false
positives and relatively few false positives for off-by-one errors and
other buffer overruns. Whilst this could be maintained outside of the
main Wine tree it would be more convenient in terms of automation of
Prefast runs if a vanilla Wine tree can be used (i.e. the annotation
patches are in the official tree).
--
Rob Shearman
Can I object the removal?
There will be a WineConf next year right?
On Sat, Sep 27, 2008 at 2:28 PM, Zachary Goldberg <zgold(a)bluesata.com> wrote:
> Was for sponsoring WineConf.
>
>
>
>
--
http://www.wine-reviews.net/
Sorry all, this patch is clearly incorrect. I am continuing to try to
find out why these test fail on my windows 2000 japanese vm.
-aric
Aric Stewart wrote:
> ---
> dlls/mlang/tests/mlang.c | 100
> +++++++++++++++++++++++++++++-----------------
> 1 files changed, 63 insertions(+), 37 deletions(-)
>
>
>
> ------------------------------------------------------------------------
>
>
2008/9/27 Aric Stewart <aric(a)codeweavers.com>:
> + if (hr != S_FALSE)
> + /*
> + * this happens when 'kok' instead matches to a different Rfc1766 name
> + * for example 'ko' so it is not a falure but does not give us what
"falure" -> spelling mistake
> + * we are looking for
> + */
> + {
Slight style issue - comment between if statement and open block
character doesn't look very nice.
--
Rob Shearman
Hello,
when trying to fix an issue with Guitar Rig 3 on Wine (Bug 10129, "Guitar Rig 3 crashes"), I found out something odd: The crash is affected by the size of the SUBHEAP structure in dlls/ntdll/heap.c. Just by adding 8 unused bytes to SUBHEAP, GR3 does not crash anymore. Add another 8 bytes, GR3 crashes again, yet another 8 bytes - no crash and so on.
The bug surfaced with this commit:
[1d063ae18d990343fc077dcbf650add797924018]
ntdll: Remove assumptions that the subheap is at the beginning of the memory block.
I don't think the commit is the cause of the problem. It merely changed the size of SUBHEAP to a problematic value.
I don't really understand the inner workings of heap.c. Does anyone have an idea what the cause might be, or where to look for more information?
Cheers,
Martin
P.S. Link to the bug: http://bugs.winehq.org/show_bug.cgi?id=10129
--
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
2008/9/26 Paul Bryan Roberts <pbronline-wine(a)yahoo.co.uk>:
> + if (!ADVAPI_IsLocalComputer(lpSystemName))
> + {
> + /*FIXME("Only local computer supported!\n");*/
> + SetLastError(ERROR_NONE_MAPPED);
> + return FALSE;
> + }
There's no need to comment this FIXME out.
> @@ -2546,7 +2553,6 @@ BOOL WINAPI LookupAccountNameW( LPCWSTR lpSystemName,
> LPCWSTR lpAccountName, PSI
> if (!strcmpW(lpAccountName, ACCOUNT_SIDS[i].account))
> {
> char sidBuffer [SECURITY_MAX_SID_SIZE];
> -
> size_t sidLen = SECURITY_MAX_SID_SIZE;
You should combine this whitespace change into the patch that
introduces the whitespace.
>
> ret = CreateWellKnownSid(ACCOUNT_SIDS[i].type, NULL, sidBuffer,
> &sidLen);
> @@ -2583,6 +2589,26 @@ BOOL WINAPI LookupAccountNameW( LPCWSTR lpSystemName,
> LPCWSTR lpAccountName, PSI
> }
> }
>
> +
> + {
> + WCHAR userName [UNLEN + 1];
> + size_t nameLen = UNLEN + 1;
Don't create a block for no reason.
Please make sure you're not using excessive stack space in this
function with all of these buffers on the stack.
Also, nameLen should be of type DWORD instead of size_t, which is
platform dependent and might not match the type of DWORD and cause
warnings when passing the address of the parameter to the function
below.
> +
> + ret = GetUserNameW(userName, &nameLen);
> +
> + if (ret && strcmpW(lpAccountName, userName) != 0)
> + {
> + /* FIXME("Only first user account supported!\n"); */
> + SetLastError(ERROR_NONE_MAPPED);
> + ret = FALSE;
> + }
> +
> + if (!ret)
> + {
> + return ret;
> + }
> + }
> +
--
Rob Shearman