diff --git a/skeletons/INTEGER.c b/skeletons/INTEGER.c index 7fe3e84dbb72cd53c916365f74ff128bf3356079..3a548e67112ee8d8372f3848cd153cc5416a47c4 100644 --- a/skeletons/INTEGER.c +++ b/skeletons/INTEGER.c @@ -576,6 +576,8 @@ INTEGER_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, } FREEMEM(st->buf); + st->buf = 0; + st->size = 0; if(ct) { if(ct->flags & APC_SEMI_CONSTRAINED) { st->buf = (uint8_t *)CALLOC(1, 2); @@ -586,11 +588,7 @@ INTEGER_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, st->buf = (uint8_t *)MALLOC(1 + size + 1); if(!st->buf) _ASN_DECODE_FAILED; st->size = size; - } else { - st->size = 0; } - } else { - st->size = 0; } /* X.691, #12.2.2 */