You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pl...@apache.org on 2016/07/13 08:10:31 UTC
directory-kerby git commit: DIRKRB-594 Fix null pointer exception in
kerby-xdr modlue.
Repository: directory-kerby
Updated Branches:
refs/heads/trunk 8eeb1b653 -> aa29b0a8b
DIRKRB-594 Fix null pointer exception in kerby-xdr modlue.
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/aa29b0a8
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/aa29b0a8
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/aa29b0a8
Branch: refs/heads/trunk
Commit: aa29b0a8bc98f14abf6b547c3bc0d45a89d805ac
Parents: 8eeb1b6
Author: plusplusjiajia <ji...@intel.com>
Authored: Wed Jul 13 16:16:19 2016 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Wed Jul 13 16:16:19 2016 +0800
----------------------------------------------------------------------
.../org/apache/kerby/xdr/type/XdrSimple.java | 6 ++++-
.../apache/kerby/xdr/type/XdrStructType.java | 11 ++++++---
.../org/apache/kerby/xdr/type/XdrUnion.java | 13 +++++++---
.../java/org/apache/kerby/xdr/util/XdrUtil.java | 26 --------------------
4 files changed, 22 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/aa29b0a8/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrSimple.java
----------------------------------------------------------------------
diff --git a/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrSimple.java b/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrSimple.java
index a3e13b1..9b62c8e 100644
--- a/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrSimple.java
+++ b/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrSimple.java
@@ -54,7 +54,11 @@ public abstract class XdrSimple<T> extends AbstractXdrType<T> {
}
protected void setBytes(byte[] bytes) {
- this.bytes = bytes;
+ if (bytes != null) {
+ this.bytes = bytes.clone();
+ } else {
+ this.bytes = null;
+ }
}
protected byte[] encodeBody() throws IOException {
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/aa29b0a8/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrStructType.java
----------------------------------------------------------------------
diff --git a/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrStructType.java b/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrStructType.java
index 6bb74a5..c4672c3 100644
--- a/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrStructType.java
+++ b/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrStructType.java
@@ -41,10 +41,15 @@ public abstract class XdrStructType extends AbstractXdrType<XdrStructType> {
public XdrStructType(XdrDataType xdrDataType,
final XdrFieldInfo[] fieldInfos) {
super(xdrDataType);
- this.fieldInfos = fieldInfos;
- this.fields = new XdrType[fieldInfos.length];
+ if (fieldInfos != null) {
+ this.fieldInfos = fieldInfos.clone();
+ this.fields = new XdrType[fieldInfos.length];
- getStructTypeInstance(this.fields, fieldInfos);
+ getStructTypeInstance(this.fields, fieldInfos);
+ } else {
+ this.fieldInfos = null;
+ this.fields = null;
+ }
}
protected abstract void getStructTypeInstance(final XdrType[] fields, final XdrFieldInfo[] fieldInfos);
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/aa29b0a8/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrUnion.java
----------------------------------------------------------------------
diff --git a/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrUnion.java b/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrUnion.java
index b7dc59c..20d4f83 100644
--- a/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrUnion.java
+++ b/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/type/XdrUnion.java
@@ -71,12 +71,17 @@ public abstract class XdrUnion extends AbstractXdrType<XdrUnion> {
}
public XdrUnion(XdrDataType xdrDataType,
- final XdrFieldInfo[] fieldInfos) {
+ final XdrFieldInfo[] fieldInfos) {
super(xdrDataType);
- this.fieldInfos = fieldInfos;
- this.fields = new XdrType[fieldInfos.length];
+ if (fieldInfos != null) {
+ this.fieldInfos = fieldInfos.clone();
+ this.fields = new XdrType[fieldInfos.length];
- getUnionInstance(this.fields, fieldInfos);
+ getUnionInstance(this.fields, fieldInfos);
+ } else {
+ this.fieldInfos = null;
+ this.fields = null;
+ }
}
protected abstract void getUnionInstance(final XdrType[] fields, final XdrFieldInfo[] fieldInfos);
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/aa29b0a8/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/util/XdrUtil.java
----------------------------------------------------------------------
diff --git a/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/util/XdrUtil.java b/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/util/XdrUtil.java
deleted file mode 100644
index 880bbb0..0000000
--- a/kerby-common/kerby-xdr/src/main/java/org/apache/kerby/xdr/util/XdrUtil.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.kerby.xdr.util;
-
-public final class XdrUtil {
- private XdrUtil() {
-
- }
-}