[ 
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]

Reply via email to