Closed
Bug 282804
Opened 19 years ago
Closed 13 years ago
SHGetMalloc API call is deprecated
Categories
(Core Graveyard :: Embedding: ActiveX Wrapper, defect)
Tracking
(Not tracked)
RESOLVED
INVALID
People
(Reporter: David.R.Gardiner, Unassigned)
References
Details
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 According to the MSDN documentation (http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/functions/shgetmalloc.asp) "This function should no longer be used. Use the CoTaskMemFree and CoTaskMemAlloc functions in its place" Both of these other functions are supported from Win95/NT3.1 so it is probably a good idea to update our code. This API call is used in the following locations: /embedding/browser/activex/src/control/DropTarget.cpp, line 108 -- if (FAILED(SHGetMalloc(&spMalloc))) /embedding/browser/activex/src/control/MozillaBrowser.cpp, line 1945 -- SHGetMalloc(&shellMalloc); /embedding/browser/activex/src/control_kicker/control_kicker.cpp, line 224 -- SHGetMalloc(&pShellAllocator); /embedding/browser/activex/tests/IEPatcher/ScanForFilesDlg.cpp, line 82 -- SHGetMalloc(&pShellAllocator); /embedding/browser/activex/tests/RegMozCtl/RegMozCtlDlg.cpp, line 219 -- SHGetMalloc(&pShellAllocator); /modules/libpr0n/decoders/icon/win/nsIconChannel.cpp, line 265 -- hr = ::SHGetMalloc(&pMalloc); /netwerk/protocol/file/src/nsFileProtocolHandler.cpp, line 121 -- result = SHGetMalloc(&pMalloc); /xpcom/io/SpecialSystemDirectory.cpp, line 197 -- if (!SUCCEEDED(SHGetMalloc(&pMalloc))) /xpcom/obsolete/nsSpecialSystemDirectory.cpp, line 216 -- if (!SUCCEEDED(SHGetMalloc(&pMalloc))) /widget/src/windows/nsFilePicker.cpp, line 169 -- ::SHGetMalloc(&pMalloc); /toolkit/mozapps/installer/windows/wizard/setup/dialogs.c, line 653 -- if (SUCCEEDED(SHGetMalloc(&shellMalloc))) { /toolkit/xre/nsXREDirProvider.cpp, line 598 -- if (!SUCCEEDED(SHGetMalloc(&pMalloc))) /browser/components/migration/src/nsIEProfileMigrator.cpp, line 1236 -- result = SHGetMalloc(&pMalloc); I stumbled upon this after running a PREfast static analysis of the Mozilla code, which also produced this warning for a couple of uses of SHGetMalloc: control_kicker.cpp(224): warning 31: Return value ignored: 'SHGetMalloc' could return unexpected value. problem occurs in function 'LoadMozLibraryFromRegistry' (and also here too) warning 31 : Return value ignored: 'SHGetMalloc' could return unexpected value. File path: d:\mozilla\mozilla\widget\src\windows\nsfilepicker.cpp Function: nsFilePicker::ShowW Line: 169 As an aside there's also an interesting blog article that talks about SHGetMalloc here: http://weblogs.asp.net/oldnewthing/archive/2004/07/05/173226.aspx -dave Reproducible: Always Steps to Reproduce:
Comment 1•19 years ago
|
||
David, you probably want to file one bug per module that uses this call (since they will need to be fixed by different people). Then make all the bugs you file block this bug so it can be used to track progress on fixing this....
Comment 2•19 years ago
|
||
David has review for most of the sub-bugs, but forgot to ask SR ? The patch are at risk of bit rotting. Only 284331 and 284156 still miss the review ...
Comment 3•19 years ago
|
||
Isn't the real issue that no one ever requested approval for those patches and we're in a freeze? If the patches are safe, please request 1.8b2 approval for them; once thye have approvals please ping me and I can check them in...
Updated•15 years ago
|
QA Contact: dunn5557 → activex
Comment 4•13 years ago
|
||
The ActiveX embedding API was removed in bug 662023 and friends, making this INVALID. [Filter bugspam on activexinvalid]
Assignee: adamlock → nobody
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → INVALID
Assignee | ||
Updated•12 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•