Skip to content

Commit d81ce81

Browse files
author
zhourenjian
committed
Fixed a bug that extending SimpleRPCRunnable may get strange fields (other classes' fields) serialized.
1 parent e12b98e commit d81ce81

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

sources/net.sf.j2s.java.core/src/java/lang/ClassExt.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,9 +393,14 @@ Clazz.prepareFields = function (clazz, fieldsFun) {
393393
Clazz.registerSerializableFields = function (clazz) {
394394
var args = arguments;
395395
var length = args.length;
396-
if (clazz.declared$Fields == null) {
397-
clazz.declared$Fields = new Array ();
396+
var newArr = new Array ();
397+
if (clazz.declared$Fields != null) {
398+
for (var i = 0; i < clazz.declared$Fields.length; i++) {
399+
newArr[i] = clazz.declared$Fields[i];
400+
}
398401
}
402+
clazz.declared$Fields = newArr;
403+
399404
if (length > 0 && length % 2 == 1) {
400405
var fs = clazz.declared$Fields;
401406
for (var i = 1; i <= (length - 1) / 2; i++) {

0 commit comments

Comments
 (0)