From bb0b4673669ebf93337bf34eb89251fdc8f25608 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Fri, 3 Feb 2012 10:49:00 +0100 Subject: [PATCH] msi: Avoid a null pointer dereference in MsiGetFileVersionW (clang). --- dlls/msi/msi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c index cc83e39cf3b..f34bfc97d83 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 ); } -- 2.11.4.GIT