Juan Lang : crypt32: Fix potential buffer overruns in CertGetNameStringW.
Alexandre Julliard
julliard at winehq.org
Thu Sep 10 09:07:33 CDT 2009
Module: wine
Branch: master
Commit: 5cefdb68c53c6e4bffde2f57a03936f1f6837711
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5cefdb68c53c6e4bffde2f57a03936f1f6837711
Author: Juan Lang <juan.lang at gmail.com>
Date: Wed Sep 9 08:40:44 2009 -0700
crypt32: Fix potential buffer overruns in CertGetNameStringW.
---
dlls/crypt32/str.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/crypt32/str.c b/dlls/crypt32/str.c
index fa6eed9..b0a3d25 100644
--- a/dlls/crypt32/str.c
+++ b/dlls/crypt32/str.c
@@ -1018,7 +1018,7 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
{
if (!pszNameString)
ret = strlenW(entry->pwszRfc822Name) + 1;
- else
+ else if (cchNameString)
{
ret = min(strlenW(entry->pwszRfc822Name), cchNameString - 1);
memcpy(pszNameString, entry->pwszRfc822Name,
@@ -1103,7 +1103,7 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
{
if (!pszNameString)
ret = strlenW(entry->pwszRfc822Name) + 1;
- else
+ else if (cchNameString)
{
ret = min(strlenW(entry->pwszRfc822Name),
cchNameString - 1);
@@ -1140,7 +1140,7 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
{
if (!pszNameString)
ret = strlenW(entry->pwszDNSName) + 1;
- else
+ else if (cchNameString)
{
ret = min(strlenW(entry->pwszDNSName), cchNameString - 1);
memcpy(pszNameString, entry->pwszDNSName, ret * sizeof(WCHAR));
@@ -1164,7 +1164,7 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
{
if (!pszNameString)
ret = strlenW(entry->pwszURL) + 1;
- else
+ else if (cchNameString)
{
ret = min(strlenW(entry->pwszURL), cchNameString - 1);
memcpy(pszNameString, entry->pwszURL, ret * sizeof(WCHAR));
More information about the wine-cvs
mailing list