Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.4.0
-
Reviewed
Description
During looking into some code related XATTR, I found there is a bug in SerialNumberMap, as bellow:
public int get(T t) { if (t == null) { return 0; } Integer sn = t2i.get(t); if (sn == null) { sn = current.getAndIncrement(); if (sn > max) { current.getAndDecrement(); throw new IllegalStateException(name + ": serial number map is full"); } Integer old = t2i.putIfAbsent(t, sn); if (old != null) { // here: if the old is not null, we should decrease the current value. return old; } i2t.put(sn, t); } return sn; }
This bug will only cause that the capacity of serialNumberMap is less than expected, no other impact.
Attachments
Issue Links
- links to