From: Benny Baumann Date: Sun, 31 Jul 2016 12:16:24 +0000 (+0200) Subject: fix: Possible NPE if the profile configuration could not be read X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=f026ca44afbe85ae41aca180c0771492f0122ad2 fix: Possible NPE if the profile configuration could not be read Change-Id: Id21ffcd5bcf692ceed1d1896221c89357ab61696 --- diff --git a/src/org/cacert/gigi/dbObjects/CACertificate.java b/src/org/cacert/gigi/dbObjects/CACertificate.java index 41401b6d..3e8af822 100644 --- a/src/org/cacert/gigi/dbObjects/CACertificate.java +++ b/src/org/cacert/gigi/dbObjects/CACertificate.java @@ -89,7 +89,11 @@ public class CACertificate implements IdCachable { CertificateFactory xf = CertificateFactory.getInstance("X509"); HashMap map = new HashMap<>(); HashMap names = new HashMap<>(); - for (File f : scandir.listFiles()) { + File[] scandirfiles = scandir.listFiles(); + if (null == scandirfiles) { + scandirfiles = new File[0]; + } + for (File f : scandirfiles) { X509Certificate cert = (X509Certificate) xf.generateCertificate(new FileInputStream(f)); X500Principal princip = cert.getSubjectX500Principal(); map.put(princip, cert); diff --git a/src/org/cacert/gigi/dbObjects/CertificateProfile.java b/src/org/cacert/gigi/dbObjects/CertificateProfile.java index 57044979..afcc019c 100644 --- a/src/org/cacert/gigi/dbObjects/CertificateProfile.java +++ b/src/org/cacert/gigi/dbObjects/CertificateProfile.java @@ -180,7 +180,13 @@ public class CertificateProfile implements IdCachable { final HashMap myName = new HashMap(); final HashMap myId = new HashMap(); - for (File f : new File("config/profiles").listFiles()) { + File profiledir = new File("config/profiles"); + File[] profilelist = profiledir.listFiles(); + if (null == profilelist) { + throw new Error("Unable to list available profiles from " + profiledir.getName()); + } + + for (File f : profilelist) { Properties p = new Properties(); try (FileInputStream inStream = new FileInputStream(f)) { p.load(inStream);