diff --git a/crypto/asn1/a_strex.c b/crypto/asn1/a_strex.c index defc4e7ecf2076dfc5fc4fcaf136925b47312691..128aa7e772c0091eebd35d296d13e3a84cfe0693 100644 --- a/crypto/asn1/a_strex.c +++ b/crypto/asn1/a_strex.c @@ -461,6 +461,7 @@ static int do_name_ex(char_io *io_ch, void *arg, X509_NAME *n, int objlen, fld_len; if((fn_opt == XN_FLAG_FN_OID) || (fn_nid==NID_undef) ) { OBJ_obj2txt(objtmp, 80, fn, 1); + fld_len = 0; /* XXX: what should this be? */ objbuf = objtmp; } else { if(fn_opt == XN_FLAG_FN_SN) { @@ -469,7 +470,10 @@ static int do_name_ex(char_io *io_ch, void *arg, X509_NAME *n, } else if(fn_opt == XN_FLAG_FN_LN) { fld_len = FN_WIDTH_LN; objbuf = OBJ_nid2ln(fn_nid); - } else objbuf = ""; + } else { + fld_len = 0; /* XXX: what should this be? */ + objbuf = ""; + } } objlen = strlen(objbuf); if(!io_ch(arg, objbuf, objlen)) return -1;