[ 
https://issues.apache.org/jira/browse/HADOOP-18471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17613182#comment-17613182
 ] 

ASF GitHub Bot commented on HADOOP-18471:
-----------------------------------------

FuzzingTeam commented on code in PR #4957:
URL: https://github.com/apache/hadoop/pull/4957#discussion_r985709429


##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestDefaultStringifier.java:
##########
@@ -107,6 +108,12 @@ public void testStoreLoadArray() throws IOException {
     Integer[] array = new Integer[] {1,2,3,4,5};
 
 
+    try {

Review Comment:
   we have updated the code, please review.



##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/DefaultStringifier.java:
##########
@@ -158,6 +158,9 @@ public static <K> K load(Configuration conf, String keyName,
   public static <K> void storeArray(Configuration conf, K[] items,
       String keyName) throws IOException {
 
+    if (items.length == 0) {
+      throw new IndexOutOfBoundsException();
+    }
     DefaultStringifier<K> stringifier = new DefaultStringifier<K>(conf, 
         GenericsUtil.getClass(items[0]));

Review Comment:
   Thanks @steveloughran for the review.
   Yes, the original code would trigger ArrayIndexOutOfBoundsException 
automatically, and the new test passes without the new lines.
   But we found the same exception has been handled in other places in the same 
module and hence, request to handle it.





> An unhandled ArrayIndexOutOfBoundsException in 
> DefaultStringifier.storeArray() if provided with an empty input
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-18471
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18471
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: common, io
>    Affects Versions: 3.3.4
>            Reporter: FuzzingTeam
>            Priority: Minor
>              Labels: pull-request-available
>
> The code throws an unhandled ArrayIndexOutOfBoundsException when method 
> _storeArray_ of DefaultStringifier.java is called with an empty array as 
> input.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to