This is an automated email from the ASF dual-hosted git repository.
weichiu pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new 6aa6345 HDFS-14242. OIV WebImageViewer: NPE when param op is not
specified. Contributed by Siyao Meng.
6aa6345 is described below
commit 6aa63452b358cf0ba8687ec89b5d6c3a99649bc5
Author: Siyao Meng <[email protected]>
AuthorDate: Wed Feb 6 12:18:35 2019 -0800
HDFS-14242. OIV WebImageViewer: NPE when param op is not specified.
Contributed by Siyao Meng.
Signed-off-by: Wei-Chiu Chuang <[email protected]>
---
.../hdfs/tools/offlineImageViewer/FSImageHandler.java | 7 ++++++-
.../offlineImageViewer/TestOfflineImageViewer.java | 19 +++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/FSImageHandler.java
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/FSImageHandler.java
index ad51b72..9b0031a 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/FSImageHandler.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/FSImageHandler.java
@@ -85,10 +85,15 @@ class FSImageHandler extends
SimpleChannelInboundHandler<HttpRequest> {
}
QueryStringDecoder decoder = new QueryStringDecoder(request.getUri());
+ // check path. throw exception if path doesn't start with WEBHDFS_PREFIX
+ String path = getPath(decoder);
final String op = getOp(decoder);
+ // check null op
+ if (op == null) {
+ throw new IllegalArgumentException("Param op must be specified.");
+ }
final String content;
- String path = getPath(decoder);
switch (op) {
case "GETFILESTATUS":
content = image.getFileStatus(path);
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java
index a01de74..1895ada 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java
@@ -625,6 +625,25 @@ public class TestOfflineImageViewer {
}
@Test
+ public void testWebImageViewerNullOp() throws Exception {
+ WebImageViewer viewer = new WebImageViewer(
+ NetUtils.createSocketAddr("localhost:0"));
+ try {
+ viewer.initServer(originalFsimage.getAbsolutePath());
+ int port = viewer.getPort();
+
+ // null op
+ URL url = new URL("http://localhost:" + port +
+ "/webhdfs/v1/");
+ // should get HTTP_BAD_REQUEST. NPE gets HTTP_INTERNAL_ERROR
+ verifyHttpResponseCode(HttpURLConnection.HTTP_BAD_REQUEST, url);
+ } finally {
+ // shutdown the viewer
+ viewer.close();
+ }
+ }
+
+ @Test
public void testWebImageViewerSecureMode() throws Exception {
Configuration conf = new Configuration();
conf.set(HADOOP_SECURITY_AUTHENTICATION, "kerberos");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]