Closed
Bug 53593
Opened 24 years ago
Closed 22 years ago
uninitialized variables in jsj.c
Categories
(Core Graveyard :: Java: Live Connect, defect, P3)
Core Graveyard
Java: Live Connect
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: Brade, Assigned: beard)
References
Details
Attachments
(1 file, 1 obsolete file)
(deleted),
patch
|
beard
:
review+
|
Details | Diff | Splinter Review |
In the warnings logs on Linux tinderbox builds, I see these (potentially?) serious bugs:
3. js/src/liveconnect/jsj.c:681 (See build log excerpt)
`jEnv' might be used uninitialized in this function
679 JSJ_AttachCurrentThreadToJava(JSJavaVM *jsjava_vm, const char *name, JNIEnv **java_envp)
680 {
681 JNIEnv *jEnv;
682 SystemJavaVM *java_vm;
683 JSJavaThreadState *jsj_env;
4. js/src/liveconnect/jsj.c:730 (See build log excerpt)
`java_vm' might be used uninitialized in this function
728 {
729 JSJavaThreadState *jsj_env;
730 SystemJavaVM *java_vm;
731 JSJavaVM *jsjava_vm;
Assignee | ||
Updated•23 years ago
|
Status: NEW → ASSIGNED
Comment 3•23 years ago
|
||
Currently TBox shows 3 warnings in Live Connect:
js/src/liveconnect/jsj.c:698
`jEnv' might be used uninitialized in this function
js/src/liveconnect/jsj.c:753
`java_vm' might be used uninitialized in this function
js/src/liveconnect/jsj_JSObject.c:253
`java_wrapper_obj' might be used uninitialized in this function
P.S. trying to make 1.0 as warnings-free as possible...
Blocks: 59659
Keywords: mozilla1.0
Comment 4•22 years ago
|
||
This patch fixes two warnings:
jsj.c: In function `JSJ_AttachCurrentThreadToJava':
jsj.c:680: warning: `jEnv' might be used uninitialized in this function
jsj.c: In function `jsj_MapJavaThreadToJSJavaThreadState':
jsj.c:735: warning: `java_vm' might be used uninitialized in this function
In both cases the code structure is about the same:
... * var;
...
if (condition)
var = ...;
if (var == NULL)
rerutn NULL;
Of course, if "condition" happens to be false, we'll end up comparing an
uninitialized portion of memory to NULL with un[predictable results! The patch
preinitializes variables to NULL and gets rid of uncertanty.
Updated•22 years ago
|
Reporter | ||
Comment 5•22 years ago
|
||
Comment on attachment 102553 [details] [diff] [review]
Fix two warnings (that also appear to be bugs!)
r=brade
Attachment #102553 -
Flags: review+
Comment 6•22 years ago
|
||
Can I get an sr for the patch? (And can somebody check it in?) Thanks!
Whiteboard: sr needed
Comment 7•22 years ago
|
||
Comment on attachment 102553 [details] [diff] [review]
Fix two warnings (that also appear to be bugs!)
Yow. How'd that happen?
sr=brendan@mozilla.org, please mail drivers for 1.2 branch permission. Does
this need to be fixed on the 1.0 branch also?
/be
Attachment #102553 -
Flags: superreview+
Comment 8•22 years ago
|
||
> please mail drivers for 1.2 branch permission
Can somebody with CVS permissions take care of this?
> Does this need to be fixed on the 1.0 branch also?
The warnings do exist on 1.0 branch. As far as "need to be fixed" goes, I do not
know if they ever cause anything bad to happen...
Whiteboard: sr needed
Assignee | ||
Comment 9•22 years ago
|
||
This problem is largely academic, since the only way jEnv ends up being unitialized is if (JSJ_callbacks &&
JSJ_callbacks->attach_current_thread) is FALSE. A clearer change might instead be:
Index: mozilla/js/src/liveconnect/jsj.c
===================================================================
RCS file: /cvsroot/mozilla/js/src/liveconnect/jsj.c,v
retrieving revision 1.27
diff -b -u -2 -r1.27 jsj.c
--- mozilla/js/src/liveconnect/jsj.c 1 Aug 2002 11:04:18 -0000 1.27
+++ mozilla/js/src/liveconnect/jsj.c 7 Nov 2002 23:54:26 -0000
@@ -688,6 +692,6 @@
/* Try to attach a Java thread to the current native thread */
java_vm = jsjava_vm->java_vm;
- if (JSJ_callbacks && JSJ_callbacks->attach_current_thread)
- jEnv = JSJ_callbacks->attach_current_thread(java_vm);
+ jEnv = (JSJ_callbacks && JSJ_callbacks->attach_current_thread) ?
+ JSJ_callbacks->attach_current_thread(java_vm) : NULL;
if (jEnv == NULL)
return NULL;
@@ -745,6 +749,6 @@
/* First, figure out which Java VM is calling us */
- if (JSJ_callbacks && JSJ_callbacks->get_java_vm)
- java_vm = JSJ_callbacks->get_java_vm(jEnv);
+ java_vm = (JSJ_callbacks && JSJ_callbacks->get_java_vm) ?
+ JSJ_callbacks->get_java_vm(jEnv) : NULL;
if (java_vm == NULL)
return NULL;
Assignee | ||
Comment 10•22 years ago
|
||
I'd be happy to get this patch checked in.
Updated•22 years ago
|
Attachment #102553 -
Flags: in?(beard)
Attachment #102553 -
Flags: checked
Comment 11•22 years ago
|
||
Created a cleaner version of the fix, similar to the one requested in comment
#9.
Attachment #102553 -
Attachment is obsolete: true
Comment 12•22 years ago
|
||
Comment on attachment 111677 [details] [diff] [review]
Fix two warnings (that also appear to be bugs), v2
Can you check this in? Thanks!
Attachment #111677 -
Flags: review?(beard)
Assignee | ||
Comment 13•22 years ago
|
||
Comment on attachment 111677 [details] [diff] [review]
Fix two warnings (that also appear to be bugs), v2
r=beard
Attachment #111677 -
Flags: review?(beard) → review+
Assignee | ||
Comment 14•22 years ago
|
||
Checked into trunk.
Comment 15•22 years ago
|
||
Per comment #14.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Updated•22 years ago
|
Attachment #102553 -
Flags: checkin?(beard)
You need to log in
before you can comment on or make changes to this bug.
Description
•