From b13c1a68187cb306a728de26164ea94887896687 Mon Sep 17 00:00:00 2001 From: augustd Date: Mon, 1 May 2017 18:46:09 -0700 Subject: [PATCH 1/2] Fix NPE when passing just filename Fix for #1 --- src/main/java/org/owasp/fileio/SafeFile.java | 1 + src/test/java/org/owasp/fileio/SafeFileTest.java | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/main/java/org/owasp/fileio/SafeFile.java b/src/main/java/org/owasp/fileio/SafeFile.java index 79af3c0..65a783d 100644 --- a/src/main/java/org/owasp/fileio/SafeFile.java +++ b/src/main/java/org/owasp/fileio/SafeFile.java @@ -53,6 +53,7 @@ public SafeFile(URI uri) throws ValidationException { } private void doDirCheck(String path) throws ValidationException { + if (path == null) return; Matcher m1 = DIR_BLACKLIST_PAT.matcher(path); if (m1.find()) { throw new ValidationException("Invalid directory", "Directory path (" + path + ") contains illegal character: " + m1.group()); diff --git a/src/test/java/org/owasp/fileio/SafeFileTest.java b/src/test/java/org/owasp/fileio/SafeFileTest.java index 7f21f22..f772c81 100644 --- a/src/test/java/org/owasp/fileio/SafeFileTest.java +++ b/src/test/java/org/owasp/fileio/SafeFileTest.java @@ -151,6 +151,13 @@ public void testAlternateDataStream() { } catch (ValidationException expected) { } } + + public void testSafeFileWithoutPath() { + try { + File sf = new SafeFile("hello.txt"); + } catch (ValidationException expected) { + } + } static public String toHex(final byte b) { final char hexDigit[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; From c9bb73ba781be8ad31ee344fc396fad3ce9de9ee Mon Sep 17 00:00:00 2001 From: augustd Date: Mon, 1 May 2017 18:49:38 -0700 Subject: [PATCH 2/2] Add travis CI config file --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..51b9d9c --- /dev/null +++ b/.travis.yml @@ -0,0 +1,4 @@ +language: java +jdk: +- oraclejdk7 +- oraclejdk8