Hi Prasanta, I didnt say reader will decode more than 79 bytes but user might expect more than 79 bytes since we allowed more than 79 bytes write. While reading non-standard PNG chunks(having greater than 79 bytes null terminated string) we will throw exception in case of reader also. Its a stream, we will not know the length and we rely completely on null termination and we expect it to be spec complaint and not more than 79 bytes.
Thanks, Jay > On 30-Apr-2020, at 2:51 PM, Prasanta Sadhukhan > <prasanta.sadhuk...@oracle.com> wrote: > > Hi Jay, > > But why reader will read more than 79 bytes from the chunk..It should also > limit it's reading to 1st 79 bytes (if the chunks we get from non-oracle > non-standard PNG writer is more than 79bytes) as per spec, no? > > Regards > Prasanta > On 30-Apr-20 2:01 PM, Jayathirth D v wrote: >> Hi Prasanta, >> >> Thanks for the review. >> If we consume only 79 bytes and continue writing the image, it will lead to >> unexpected behaviour when user tries to read the image expecting longer than >> 79 string data. Our reader is also tightly spec compliant for null >> terminated strings after JDK-8195841 >> <https://bugs.openjdk.java.net/browse/JDK-8195841> and JDK-8191023 >> <https://bugs.openjdk.java.net/browse/JDK-8191023>. Its better to be spec >> compliant than leaving things open for interpretation. >> >> Regards, >> Jay >> >> >>> On 29-Apr-2020, at 1:22 PM, Prasanta Sadhukhan >>> <prasanta.sadhuk...@oracle.com <mailto:prasanta.sadhuk...@oracle.com>> >>> wrote: >>> >>> Hi Jay, >>> >>> Looks good to me . Although I have a question which is, instead of throwing >>> Exception, can we proceed with 1st 79 bytes of these chunks and continue? >>> >>> Regards >>> Prasanta >>> On 27-Apr-20 10:51 PM, Philip Race wrote: >>>> I reviewed http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html >>>> <http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html> >>>> and I think you covered all the cases. >>>> >>>> I also reviewed the reader and it seems we already check only up to 80 >>>> chars there. >>>> >>>> I note we assume the same max length of 80 for the language tag for iTxt. >>>> The spec. doesn't specify a limit but I think 80 is more than generous >>>> here. >>>> >>>> +1 >>>> >>>> -phil. >>>> >>>> On 4/27/20, 9:59 AM, Jayathirth D v wrote: >>>>> >>>>> Hello All, >>>>> >>>>> Please review the following fix for JDK 15: >>>>> >>>>> Bug : https://bugs.openjdk.java.net/browse/JDK-8242557 >>>>> <https://bugs.openjdk.java.net/browse/JDK-8242557> >>>>> Webrev : http://cr.openjdk.java.net/~jdv/8242557/webrev.00/ >>>>> <http://cr.openjdk.java.net/%7Ejdv/8242557/webrev.00/> >>>>> >>>>> Issue : PNG specification restricts length of strings in some chunks to >>>>> 79(http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html >>>>> <http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html> ) excluding null >>>>> termination. But our writer implementation has no such check. >>>>> Solution : Add checks in different chunks where there must be >>>>> restrictions. >>>>> >>>>> Thanks, >>>>> Jay >>