Issue #3181 Add check for valid array index.

Change-Id: I8e0a37bdd094b341da2ce42922a16d840d1ab468
(cherry picked from commit b4e8d1cdfdb0ef718e97fd7ca615b086b30aa6c0 [formerly adf6d95c01] [formerly fb4ac9acc7 [formerly a1f25b8748] [formerly adf6d95c01 [formerly ca01934f9e9d355dd4159fd472e2aa9bc0918898]]])

Former-commit-id: 332dd7a557 [formerly 359b835955] [formerly 54bdfef65a [formerly 743bfc070e5e0c82ed445afec08e294220c31018]]
Former-commit-id: 54bdfef65a
Former-commit-id: 102615aea1
This commit is contained in:
Roger Ferrel 2014-05-22 09:57:41 -05:00 committed by Steve Harris
parent 29e9ad3dbf
commit 0e1d2d002e

View file

@ -97,6 +97,7 @@ import com.raytheon.uf.common.util.FileUtil;
* Mar 21, 2014 2835 rjpeter Optimized getDisplayData to only scan directories to the depth required to
* populate the display label.
* Apr 29, 2014 3036 rferrel Check for missing archive root directories.
* May 22, 2014 3181 rferrel Add check for valid array index.
* </pre>
*
* @author rferrel
@ -658,6 +659,14 @@ public class ArchiveConfigManager {
tmpDirs.clear();
int subExprIndex = 0;
/*
* Will never match when pattern's directories shorter then
* directories being scanned.
*/
if ((tokens.length - rootFileDepth) > subExpr.length) {
continue DIR_PATTERN_LOOP;
}
for (int i = rootFileDepth; i < tokens.length; i++) {
Pattern subPattern = Pattern.compile("^"
+ subExpr[subExprIndex++] + "$");