You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by br...@apache.org on 2013/08/01 19:48:01 UTC
svn commit: r1509347 - in /hadoop/common/trunk/hadoop-common-project:
hadoop-common/CHANGES.txt
hadoop-nfs/src/main/java/org/apache/hadoop/portmap/PortmapInterface.java
hadoop-nfs/src/main/java/org/apache/hadoop/portmap/RpcProgramPortmap.java
Author: brandonli
Date: Thu Aug 1 17:48:01 2013
New Revision: 1509347
URL: http://svn.apache.org/r1509347
Log:
HADOOP-9806 PortmapInterface should check if the procedure is out-of-range. Contributed by Brandon Li
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/portmap/PortmapInterface.java
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/portmap/RpcProgramPortmap.java
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1509347&r1=1509346&r2=1509347&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Thu Aug 1 17:48:01 2013
@@ -269,6 +269,9 @@ Trunk (Unreleased)
HADOOP-9433 TestLocalFileSystem#testHasFileDescriptor leaks file handle
(Chris Nauroth via sanjay)
+ HADOOP-9806 PortmapInterface should check if the procedure is out-of-range
+ (brandonli)
+
OPTIMIZATIONS
HADOOP-7761. Improve the performance of raw comparisons. (todd)
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/portmap/PortmapInterface.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/portmap/PortmapInterface.java?rev=1509347&r1=1509346&r2=1509347&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/portmap/PortmapInterface.java (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/portmap/PortmapInterface.java Thu Aug 1 17:48:01 2013
@@ -45,6 +45,9 @@ public interface PortmapInterface {
}
public static Procedure fromValue(int value) {
+ if (value < 0 || value >= values().length) {
+ return null;
+ }
return values()[value];
}
}
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/portmap/RpcProgramPortmap.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/portmap/RpcProgramPortmap.java?rev=1509347&r1=1509346&r2=1509347&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/portmap/RpcProgramPortmap.java (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/portmap/RpcProgramPortmap.java Thu Aug 1 17:48:01 2013
@@ -131,29 +131,22 @@ public class RpcProgramPortmap extends R
@Override
public XDR handleInternal(RpcCall rpcCall, XDR in, XDR out,
InetAddress client, Channel channel) {
- Procedure procedure = Procedure.fromValue(rpcCall.getProcedure());
+ final Procedure portmapProc = Procedure.fromValue(rpcCall.getProcedure());
int xid = rpcCall.getXid();
- switch (procedure) {
- case PMAPPROC_NULL:
+ if (portmapProc == Procedure.PMAPPROC_NULL) {
out = nullOp(xid, in, out);
- break;
- case PMAPPROC_SET:
+ } else if (portmapProc == Procedure.PMAPPROC_SET) {
out = set(xid, in, out);
- break;
- case PMAPPROC_UNSET:
+ } else if (portmapProc == Procedure.PMAPPROC_UNSET) {
out = unset(xid, in, out);
- break;
- case PMAPPROC_DUMP:
+ } else if (portmapProc == Procedure.PMAPPROC_DUMP) {
out = dump(xid, in, out);
- break;
- case PMAPPROC_GETPORT:
+ } else if (portmapProc == Procedure.PMAPPROC_GETPORT) {
out = getport(xid, in, out);
- break;
- case PMAPPROC_GETVERSADDR:
+ } else if (portmapProc == Procedure.PMAPPROC_GETVERSADDR) {
out = getport(xid, in, out);
- break;
- default:
- LOG.info("PortmapHandler unknown rpc procedure=" + procedure);
+ } else {
+ LOG.info("PortmapHandler unknown rpc procedure=" + portmapProc);
RpcAcceptedReply.voidReply(out, xid,
RpcAcceptedReply.AcceptState.PROC_UNAVAIL);
}