13260 r=akhil.arora@sun.com Fixed by Denis Sharypov <sdv@sparc.spb.su>
Added checks for integer arguments being outside of legal range and throw exceptions if not. git-svn-id: svn://10.0.0.236/trunk@50861 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -77,6 +77,8 @@ PRLogModuleInfo* JavaDOMGlobals::log = NULL;
|
||||
PRCList JavaDOMGlobals::garbage = PR_INIT_STATIC_CLIST(&garbage);
|
||||
PRLock* JavaDOMGlobals::garbageLock = NULL;
|
||||
|
||||
PRInt32 JavaDOMGlobals::javaMaxInt = 0;
|
||||
|
||||
class jniDOMGarbage : public PRCList {
|
||||
public:
|
||||
jniDOMGarbage(nsISupports* p) { domObject = p; }
|
||||
@@ -234,6 +236,11 @@ void JavaDOMGlobals::Initialize(JNIEnv *env)
|
||||
runtimeExceptionInitMID =
|
||||
env->GetMethodID(runtimeExceptionClass, "<init>", "(Ljava/lang/String;)V");
|
||||
if (!runtimeExceptionInitMID) return;
|
||||
|
||||
jclass integerClass = env->FindClass("java/lang/Integer");
|
||||
jfieldID javaMaxIntFID =
|
||||
env->GetStaticFieldID(integerClass, "MAX_VALUE", "I");
|
||||
javaMaxInt = env->GetStaticIntField(integerClass, javaMaxIntFID);
|
||||
}
|
||||
|
||||
void JavaDOMGlobals::Destroy(JNIEnv *env)
|
||||
@@ -545,7 +552,7 @@ void JavaDOMGlobals::ThrowException(JNIEnv *env,
|
||||
(jthrowable)env->NewObject(domExceptionClass,
|
||||
domExceptionInitMID,
|
||||
NS_ERROR_GET_CODE(rv),
|
||||
message);
|
||||
jmessage);
|
||||
} else {
|
||||
char buffer[256];
|
||||
const char* msg = message;
|
||||
|
||||
Reference in New Issue
Block a user