diff --git a/mozilla/extensions/java/xpcom/src/nsJavaWrapper.cpp b/mozilla/extensions/java/xpcom/src/nsJavaWrapper.cpp index 5d2e71effb2..143be60aa4a 100644 --- a/mozilla/extensions/java/xpcom/src/nsJavaWrapper.cpp +++ b/mozilla/extensions/java/xpcom/src/nsJavaWrapper.cpp @@ -649,7 +649,10 @@ FinalizeParams(JNIEnv *env, const jobject aParam, if (NS_FAILED(rv)) return rv; - inst = CreateJavaXPCOMInstance((nsISupports*) aVariant.val.p, &iid); + nsISupports* variant = + NS_REINTERPRET_CAST(nsISupports*, aVariant.val.p); + inst = CreateJavaXPCOMInstance(variant, &iid); + NS_RELEASE(variant); // JavaXPCOMInstance has owning ref if (inst) { // create java stub @@ -816,7 +819,10 @@ SetRetval(JNIEnv *env, const nsXPTParamInfo &aParamInfo, if (NS_FAILED(rv)) return rv; - inst = CreateJavaXPCOMInstance((nsISupports*) aVariant.val.p, &iid); + nsISupports* variant = + NS_REINTERPRET_CAST(nsISupports*, aVariant.val.p); + inst = CreateJavaXPCOMInstance(variant, &iid); + NS_RELEASE(variant); // JavaXPCOMInstance has owning ref if (inst) { // create java stub