HADOOP-18504. Fixed an unhandled NullPointerException in class KeyProvider (#5064)

Contributed by FuzzingTeam
This commit is contained in:
FuzzingTeam 2022-10-25 22:37:49 +05:30 committed by GitHub
parent 0a26d84df1
commit f140506d67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 1 deletions

View File

@ -639,13 +639,14 @@ public abstract class KeyProvider implements Closeable {
public abstract void flush() throws IOException;
/**
* Split the versionName in to a base name. Converts "/aaa/bbb/3" to
* Split the versionName in to a base name. Converts "/aaa/bbb@3" to
* "/aaa/bbb".
* @param versionName the version name to split
* @return the base name of the key
* @throws IOException raised on errors performing I/O.
*/
public static String getBaseName(String versionName) throws IOException {
Objects.requireNonNull(versionName, "VersionName cannot be null");
int div = versionName.lastIndexOf('@');
if (div == -1) {
throw new IOException("No version in key path " + versionName);

View File

@ -36,6 +36,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.apache.hadoop.test.LambdaTestUtils.intercept;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@ -62,6 +63,8 @@ public class TestKeyProvider {
} catch (IOException e) {
assertTrue(true);
}
intercept(NullPointerException.class, () ->
KeyProvider.getBaseName(null));
}
@Test