[ https://issues.apache.org/jira/browse/FLINK-7516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16233804#comment-16233804 ]
ASF GitHub Bot commented on FLINK-7516: --------------------------------------- Github user NicoK commented on a diff in the pull request: https://github.com/apache/flink/pull/4593#discussion_r148209947 --- Diff: flink-core/src/main/java/org/apache/flink/core/memory/HybridMemorySegment.java --- @@ -306,6 +307,9 @@ public final void get(int offset, ByteBuffer target, int numBytes) { if ((offset | numBytes | (offset + numBytes)) < 0) { throw new IndexOutOfBoundsException(); } + if (target.isReadOnly()) { --- End diff -- you are right - the non-direct buffers path is based on `ByteBuffer#array()` which will throw a `ReadOnlyBufferException` for read-only buffers, so it really is enough in the direct buffers code path where the `UNSAFE.copyMemory` is not checking the source pointer (how should it?!) > HybridMemorySegment: do not allow copies into a read-only ByteBuffer > -------------------------------------------------------------------- > > Key: FLINK-7516 > URL: https://issues.apache.org/jira/browse/FLINK-7516 > Project: Flink > Issue Type: Sub-task > Components: Core, Network > Affects Versions: 1.4.0 > Reporter: Nico Kruber > Assignee: Nico Kruber > Priority: Major > > {{HybridMemorySegment#get(int, ByteBuffer, int)}} allows writing into a > read-only {{ByteBuffer}} but this operation should be forbidden. -- This message was sent by Atlassian JIRA (v6.4.14#64029)