diff options
author | sky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-10 17:17:56 +0000 |
---|---|---|
committer | sky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-10 17:17:56 +0000 |
commit | f5b43627c9d7faeca9475c38ec67960c1fca46af (patch) | |
tree | e706582ae2ae2451e1e598835c2c892c39139de0 /chrome/browser/importer | |
parent | a1b399f94cde622ddd8fd9e090d81badcb6661be (diff) | |
download | chromium_src-f5b43627c9d7faeca9475c38ec67960c1fca46af.zip chromium_src-f5b43627c9d7faeca9475c38ec67960c1fca46af.tar.gz chromium_src-f5b43627c9d7faeca9475c38ec67960c1fca46af.tar.bz2 |
Adds NULL checks for LoadLibrary and GetProcAddress calls in
IEImporter. As far as I could tell the crash was because LoadLibrary
returned null.
BUG=3897
TEST=none
Review URL: http://codereview.chromium.org/13319
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6713 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/importer')
-rw-r--r-- | chrome/browser/importer/ie_importer.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/browser/importer/ie_importer.cc b/chrome/browser/importer/ie_importer.cc index 450e5165..b171a9c 100644 --- a/chrome/browser/importer/ie_importer.cc +++ b/chrome/browser/importer/ie_importer.cc @@ -128,8 +128,14 @@ void IEImporter::ImportPasswordsIE6() { // and GetProcAddress() functions. typedef HRESULT (WINAPI *PStoreCreateFunc)(IPStore**, DWORD, DWORD, DWORD); HMODULE pstorec_dll = LoadLibrary(L"pstorec.dll"); + if (!pstorec_dll) + return; PStoreCreateFunc PStoreCreateInstance = (PStoreCreateFunc)GetProcAddress(pstorec_dll, "PStoreCreateInstance"); + if (!PStoreCreateInstance) { + FreeLibrary(pstorec_dll); + return; + } CComPtr<IPStore> pstore; HRESULT result = PStoreCreateInstance(&pstore, 0, 0, 0); |