From 1a503896a5707c6b040650329ef44df811796209 Mon Sep 17 00:00:00 2001
From: Lev Walkin <vlm@lionet.info>
Date: Thu, 31 Aug 2017 02:15:11 -0700
Subject: [PATCH] fix streaming

---
 skeletons/constr_SEQUENCE_oer.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/skeletons/constr_SEQUENCE_oer.c b/skeletons/constr_SEQUENCE_oer.c
index 0bfbfb62..657d3568 100644
--- a/skeletons/constr_SEQUENCE_oer.c
+++ b/skeletons/constr_SEQUENCE_oer.c
@@ -232,7 +232,9 @@ SEQUENCE_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
         asn_bit_data_t *extadds;
         int has_extensions_bit = (specs->ext_before >= 0);
         int extensions_present =
-            has_extensions_bit && (((const uint8_t *)preamble->buffer)[0] & 0x80);
+            has_extensions_bit
+            && (preamble->buffer == NULL
+                || (((const uint8_t *)preamble->buffer)[0] & 0x80));
         uint8_t unused_bits;
         size_t len = 0;
         ssize_t len_len;
@@ -247,7 +249,7 @@ SEQUENCE_decode_oer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 
         unconst.cptr = preamble->buffer;
         FREEMEM(unconst.uptr);
-        preamble->buffer = 0;
+        preamble->buffer = 0; /* Will do extensions_present==1 next time. */
 
         if(!extensions_present) {
             ctx->phase = 10;
-- 
2.26.2