diff --git a/src/libopensc/asn1.c b/src/libopensc/asn1.c index df074e40..8caac84b 100644 --- a/src/libopensc/asn1.c +++ b/src/libopensc/asn1.c @@ -1029,7 +1029,9 @@ static int asn1_write_element(sc_context_t *ctx, unsigned int tag, else { *p++ = datalen & 0x7F; } - memcpy(p, data, datalen); + if (datalen && data) { + memcpy(p, data, datalen); + } return SC_SUCCESS; }