You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2015/06/24 14:58:37 UTC

[31/50] [abbrv] wicket git commit: FindBugs: Check for Integer.MIN_VALUE before trying to get its absolute value.

FindBugs: Check for Integer.MIN_VALUE before trying to get its absolute value.


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/03b7913c
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/03b7913c
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/03b7913c

Branch: refs/heads/master
Commit: 03b7913c1d1bcfff23018fa59845939504fd3b0d
Parents: c0727f3
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sat Jun 20 16:40:46 2015 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Jun 24 14:56:34 2015 +0300

----------------------------------------------------------------------
 .../main/java/org/apache/wicket/pageStore/DiskDataStore.java  | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/03b7913c/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java
index 83be97d..c91890c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java
+++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java
@@ -567,7 +567,12 @@ public class DiskDataStore implements IDataStore
 	 */
 	private String createPathFrom(final String sessionId)
 	{
-		int hash = Math.abs(sessionId.hashCode());
+		int sessionIdHashCode = sessionId.hashCode();
+		if (sessionIdHashCode == Integer.MIN_VALUE) {
+			// Math.abs(MIN_VALUE) == MIN_VALUE, so avoid it
+			sessionIdHashCode += 1;
+		}
+		int hash = Math.abs(sessionIdHashCode);
 		String low = String.valueOf(hash % 9973);
 		String high = String.valueOf((hash / 9973) % 9973);
 		StringBuilder bs = new StringBuilder(sessionId.length() + 10);