mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-28 21:28:55 +00:00
Fixed memory leak when calling ToString on version.
Fixed 13501.
This commit is contained in:
parent
af323a9056
commit
7f44b8d355
@ -443,20 +443,12 @@ nsInstall::AddSubcomponent(const nsString& aRegName,
|
||||
{
|
||||
nsInstallFile* ie;
|
||||
nsString qualifiedRegName;
|
||||
nsString qualifiedVersion;
|
||||
nsString tempTargetName;
|
||||
nsString qualifiedVersion = aVersion;
|
||||
nsString tempTargetName = aTargetName;
|
||||
|
||||
PRInt32 errcode = nsInstall::SUCCESS;
|
||||
|
||||
if( aTargetName.Equals("") )
|
||||
{
|
||||
tempTargetName = aJarSource;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempTargetName = aTargetName;
|
||||
}
|
||||
|
||||
|
||||
if(aJarSource.Equals("") || aFolder.Equals("") )
|
||||
{
|
||||
*aReturn = SaveError( nsInstall::INVALID_ARGUMENTS );
|
||||
@ -470,19 +462,13 @@ nsInstall::AddSubcomponent(const nsString& aRegName,
|
||||
*aReturn = SaveError( result );
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
qualifiedVersion = aVersion;
|
||||
|
||||
if( aTargetName.Equals("") )
|
||||
tempTargetName = aJarSource;
|
||||
|
||||
if (qualifiedVersion == "")
|
||||
{
|
||||
// assume package version for overriden forms that don't take version info
|
||||
*aReturn = mVersionInfo->ToString(qualifiedVersion);
|
||||
qualifiedVersion.SetString("0.0.0.0");
|
||||
|
||||
if (NS_FAILED(*aReturn))
|
||||
{
|
||||
SaveError( nsInstall::UNEXPECTED_ERROR );
|
||||
return NS_OK;
|
||||
}
|
||||
}
|
||||
|
||||
if ( aRegName.Equals("") )
|
||||
{
|
||||
@ -552,8 +538,17 @@ nsInstall::AddSubcomponent(const nsString& aRegName,
|
||||
const nsString& aTargetName,
|
||||
PRInt32* aReturn)
|
||||
{
|
||||
nsString version;
|
||||
*aReturn = mVersionInfo->ToString(version);
|
||||
|
||||
if (NS_FAILED(*aReturn))
|
||||
{
|
||||
SaveError( nsInstall::UNEXPECTED_ERROR );
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
return AddSubcomponent(aRegName,
|
||||
"",
|
||||
version,
|
||||
aJarSource,
|
||||
aFolder,
|
||||
aTargetName,
|
||||
@ -570,9 +565,18 @@ nsInstall::AddSubcomponent(const nsString& aJarSource,
|
||||
*aReturn = SaveError( nsInstall::PACKAGE_FOLDER_NOT_SET );
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsString version;
|
||||
*aReturn = mVersionInfo->ToString(version);
|
||||
|
||||
if (NS_FAILED(*aReturn))
|
||||
{
|
||||
SaveError( nsInstall::UNEXPECTED_ERROR );
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
return AddSubcomponent("",
|
||||
"",
|
||||
version,
|
||||
aJarSource,
|
||||
mPackageFolder,
|
||||
"",
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "nsIScriptGlobalObject.h"
|
||||
|
||||
#include "prprf.h"
|
||||
#include "prmem.h"
|
||||
|
||||
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
||||
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
|
||||
@ -268,7 +269,9 @@ nsInstallVersion::ToString(nsString& aReturn)
|
||||
char *result=NULL;
|
||||
result = PR_sprintf_append(result, "%d.%d.%d.%d", major, minor, release, build);
|
||||
|
||||
aReturn = result;
|
||||
aReturn.SetString(result);
|
||||
|
||||
PR_FREEIF(result);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user