[3/3] msi: Avoid a null pointer dereference in MsiGetFileVersionW (clang).
Hans Leidekker
hans at codeweavers.com
Fri Feb 3 03:49:00 CST 2012
---
dlls/msi/msi.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c
index b0b67be..eb257ab 100644
--- a/dlls/msi/msi.c
+++ b/dlls/msi/msi.c
@@ -3201,18 +3201,18 @@ UINT WINAPI MsiGetFileVersionW( LPCWSTR path, LPWSTR verbuf, LPDWORD verlen,
return ERROR_INVALID_PARAMETER;
ret = get_file_version( path, verbuf, verlen, langbuf, langlen );
- if (ret == ERROR_RESOURCE_DATA_NOT_FOUND)
+ if (ret == ERROR_RESOURCE_DATA_NOT_FOUND && verlen)
{
int len;
WCHAR *version = msi_font_version_from_file( path );
if (!version) return ERROR_FILE_INVALID;
len = strlenW( version );
- if (*verlen > len)
+ if (len >= *verlen) ret = ERROR_MORE_DATA;
+ else if (verbuf)
{
strcpyW( verbuf, version );
ret = ERROR_SUCCESS;
}
- else ret = ERROR_MORE_DATA;
*verlen = len;
msi_free( version );
}
--
1.7.8.3
More information about the wine-patches
mailing list