From 68fbbc3407d14a46cca3a40f81c632aca86a3fd8 Mon Sep 17 00:00:00 2001 From: "mkaply%us.ibm.com" Date: Tue, 30 May 2000 14:36:43 +0000 Subject: [PATCH] # 37239 r = mkaply, a = brendan OS/2 bringup continues on M16 - port memory leak fix - OS/2 only git-svn-id: svn://10.0.0.236/trunk@71081 18797224-902f-48f8-a5cc-f745e15eee43 --- .../plugin/base/src/nsPluginsDirOS2.cpp | 31 +++++++++++++++++++ .../modules/plugin/nglsrc/nsPluginsDirOS2.cpp | 31 +++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/mozilla/modules/plugin/base/src/nsPluginsDirOS2.cpp b/mozilla/modules/plugin/base/src/nsPluginsDirOS2.cpp index b4bbc6f44ba..ac08bcf6ecb 100644 --- a/mozilla/modules/plugin/base/src/nsPluginsDirOS2.cpp +++ b/mozilla/modules/plugin/base/src/nsPluginsDirOS2.cpp @@ -221,3 +221,34 @@ nsresult nsPluginFile::GetPluginInfo( nsPluginInfo &info) return rc; } + +nsresult nsPluginFile::FreePluginInfo(nsPluginInfo& info) +{ + if(info.fName != nsnull) + PL_strfree(info.fName); + + if(info.fDescription != nsnull) + PL_strfree(info.fDescription); + + if(info.fMimeType != nsnull) + PL_strfree(info.fMimeType); + + if(info.fMimeDescription != nsnull) + PL_strfree(info.fMimeDescription); + + if(info.fExtensions != nsnull) + PL_strfree(info.fExtensions); + + if(info.fMimeTypeArray != nsnull) + PR_Free(info.fMimeTypeArray); + + if(info.fMimeDescriptionArray != nsnull) + PR_Free(info.fMimeDescriptionArray); + + if(info.fExtensionArray != nsnull) + PR_Free(info.fExtensionArray); + + memset((void *)&info, 0, sizeof(info)); + + return NS_OK; +} diff --git a/mozilla/modules/plugin/nglsrc/nsPluginsDirOS2.cpp b/mozilla/modules/plugin/nglsrc/nsPluginsDirOS2.cpp index b4bbc6f44ba..ac08bcf6ecb 100644 --- a/mozilla/modules/plugin/nglsrc/nsPluginsDirOS2.cpp +++ b/mozilla/modules/plugin/nglsrc/nsPluginsDirOS2.cpp @@ -221,3 +221,34 @@ nsresult nsPluginFile::GetPluginInfo( nsPluginInfo &info) return rc; } + +nsresult nsPluginFile::FreePluginInfo(nsPluginInfo& info) +{ + if(info.fName != nsnull) + PL_strfree(info.fName); + + if(info.fDescription != nsnull) + PL_strfree(info.fDescription); + + if(info.fMimeType != nsnull) + PL_strfree(info.fMimeType); + + if(info.fMimeDescription != nsnull) + PL_strfree(info.fMimeDescription); + + if(info.fExtensions != nsnull) + PL_strfree(info.fExtensions); + + if(info.fMimeTypeArray != nsnull) + PR_Free(info.fMimeTypeArray); + + if(info.fMimeDescriptionArray != nsnull) + PR_Free(info.fMimeDescriptionArray); + + if(info.fExtensionArray != nsnull) + PR_Free(info.fExtensionArray); + + memset((void *)&info, 0, sizeof(info)); + + return NS_OK; +}