diff --git a/acl/src/main/java/org/springframework/security/acls/domain/AclFormattingUtils.java b/acl/src/main/java/org/springframework/security/acls/domain/AclFormattingUtils.java index 668b4b4b3f..229f60be8b 100644 --- a/acl/src/main/java/org/springframework/security/acls/domain/AclFormattingUtils.java +++ b/acl/src/main/java/org/springframework/security/acls/domain/AclFormattingUtils.java @@ -98,7 +98,7 @@ public abstract class AclFormattingUtils { } private static String printBinary(int i, char on, char off) { - String s = Integer.toString(i, 2); + String s = Integer.toBinaryString(i); String pattern = Permission.THIRTY_TWO_RESERVED_OFF; String temp2 = pattern.substring(0, pattern.length() - s.length()) + s; diff --git a/acl/src/test/java/org/springframework/security/acls/AclFormattingUtilsTests.java b/acl/src/test/java/org/springframework/security/acls/AclFormattingUtilsTests.java index a1adee6522..a72ea09605 100644 --- a/acl/src/test/java/org/springframework/security/acls/AclFormattingUtilsTests.java +++ b/acl/src/test/java/org/springframework/security/acls/AclFormattingUtilsTests.java @@ -124,4 +124,12 @@ public class AclFormattingUtilsTests extends TestCase { Assert.assertEquals("............................xxxx", AclFormattingUtils.printBinary(15, 'x')); } + + public void testPrintBinaryNegative() { + Assert.assertEquals("*...............................", AclFormattingUtils.printBinary(0x80000000)); + } + + public void testPrintBinaryMinusOne() { + Assert.assertEquals("********************************", AclFormattingUtils.printBinary(0xffffffff)); + } }