[
https://issues.apache.org/jira/browse/PDFBOX-5451?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Lehmkühler resolved PDFBOX-5451.
----------------------------------------
Resolution: Fixed
[~msahyoun] thanks for your valuable input. I've created PDFBOX-5469 as
follow-up for the effort to make COSString immutable
> Avoid exposing underlying byte array
> ------------------------------------
>
> Key: PDFBOX-5451
> URL: https://issues.apache.org/jira/browse/PDFBOX-5451
> Project: PDFBox
> Issue Type: Improvement
> Components: Parsing
> Affects Versions: 3.0.0 PDFBox
> Reporter: Andreas Lehmkühler
> Assignee: Andreas Lehmkühler
> Priority: Major
> Fix For: 3.0.0 PDFBox
>
>
> -When creating a COSString the given byte array is cloned. As in most cases
> the array is just an intermediate object we should remove that to reduce the
> memory footprint.-
> -Furthermore the {{getBytes}} returns the internal byte array so that I don't
> see any reason not to use the given byte array itself instead of cloning it-
> My first idea was to remove the clone when setting the value of a COSString
> to reduce the memory footprint. After some discussion we came to the
> conclusion that it would make sense to do so if COSStrings were immutable.
> But to make COSStrings immutable some refactoring is needed and I won't do
> that for 3.0.0.
> Saying that, I've reverted my first change and and added a clone in getBytes
> so that the underlying byte array isn't exposed at all.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]