Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
1.8.8, 1.8.9, 2.0.0
-
None
-
None
Description
From torakiki:
They are cached and they are mutable so this:
COSInteger cosint = COSInteger.get(10); cosint.setValue(50); //lets move to a totally unrelated part of my software System.out.println(COSInteger.get(10));
prints COSInteger(50) so basically I ask for a 10 and get a 50, isn't it weird (and error prone)? ... or the way around, I call cosint.setValue(50) at some point in the software and that makes it a 50 everywhere I used COSInteger.get(10).
That's of course also true for the other mutable attributes setDirect and setNeedToBeUpdate.
Attachments
Issue Links
- is duplicated by
-
PDFBOX-3320 Statically cached COS objects are mutable
- Closed
- relates to
-
PDFBOX-626 Reduce the memory impact of the COS object model
- Closed