fix streaming
diff --git a/skeletons/constr_SEQUENCE_oer.c b/skeletons/constr_SEQUENCE_oer.c
index 0bfbfb6..657d356 100644
--- a/skeletons/constr_SEQUENCE_oer.c
+++ b/skeletons/constr_SEQUENCE_oer.c
@@ -232,7 +232,9 @@
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 @@
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;