From: <an...@us...> - 2011-02-23 14:52:35
|
Revision: 11985 http://wonder.svn.sourceforge.net/wonder/?rev=11985&view=rev Author: anjo Date: 2011-02-23 14:52:29 +0000 (Wed, 23 Feb 2011) Log Message: ----------- NPE prevention when calling new NSArray(new ArrayList(), true) Modified Paths: -------------- branches/Wonder_5_0_0_WebObjects_5_3_Branch/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSArray.java Modified: branches/Wonder_5_0_0_WebObjects_5_3_Branch/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSArray.java =================================================================== --- branches/Wonder_5_0_0_WebObjects_5_3_Branch/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSArray.java 2011-02-23 13:11:50 UTC (rev 11984) +++ branches/Wonder_5_0_0_WebObjects_5_3_Branch/Frameworks/Core/ERExtensions/Sources/com/webobjects/foundation/NSArray.java 2011-02-23 14:52:29 UTC (rev 11985) @@ -284,7 +284,9 @@ _setCount(validCount + offset); } else { _initializeWithCapacity(rangeLength + offset); - System.arraycopy(list.toArray(), rangeLocation, _objects(), offset, rangeLength); + if(rangeLength > 0) { + System.arraycopy(list.toArray(), rangeLocation, _objects(), offset, rangeLength); + } _setCount(rangeLength + offset); } } @@ -346,6 +348,9 @@ } protected void _setCount(int count) { + if(count != 0 && _objects() != null && count != _objects().length) { + throw new IllegalStateException(); + } // if(count != count() && count != 0) { // throw new IllegalStateException(); // } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |