From: Jeroen Frijters Date: Mon, 18 Oct 2004 14:05:04 +0000 (+0000) Subject: 2004-10-18 Jeroen Frijters X-Git-Tag: releases/gcc-4.0.0~3945 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e5871096f0c6581c35819a5c84ddacd02681d372;p=thirdparty%2Fgcc.git 2004-10-18 Jeroen Frijters * java/util/logging/LogManager.java (findAncestor): Fixed IndexOutOfBoundsException. From-SVN: r89220 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d34ab27db784..70a79e06e3b8 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2004-10-18 Jeroen Frijters + + * java/util/logging/LogManager.java + (findAncestor): Fixed IndexOutOfBoundsException. + 2004-10-18 Michael Koch * java/io/BufferedInputStream.java: Fixed @author tag. diff --git a/libjava/java/util/logging/LogManager.java b/libjava/java/util/logging/LogManager.java index 24757089410f..c77e086b564d 100644 --- a/libjava/java/util/logging/LogManager.java +++ b/libjava/java/util/logging/LogManager.java @@ -351,6 +351,7 @@ public class LogManager private synchronized Logger findAncestor(Logger child) { String childName = child.getName(); + int childNameLength = childName.length(); Logger best = rootLogger; int bestNameLength = 0; @@ -366,9 +367,10 @@ public class LogManager candName = (String) iter.next(); candNameLength = candName.length(); - if ((candNameLength > bestNameLength) + if (candNameLength > bestNameLength + && childNameLength > candNameLength && childName.startsWith(candName) - && (childName.charAt(candNameLength) == '.')) + && childName.charAt(candNameLength) == '.') { cand = (Logger) ((WeakReference) loggers.get(candName)).get(); if ((cand == null) || (cand == child))