diff
- if (!(tile->pkthdrstream = jpc_streamlist_remove(dec->pkthdrstreams, 0))) {
+ jpc_stream_t *removed_stream = jpc_streamlist_remove(dec->pkthdrstreams, 0);
+ if (!removed_stream || !(tile->pkthdrstream = jpc_stream_copy(removed_stream))) {
+     jpc_stream_destroy(removed_stream);
      return -1;
+ }
