diff --git a/lib/libc/iconv/bsd_iconv.c b/lib/libc/iconv/bsd_iconv.c --- a/lib/libc/iconv/bsd_iconv.c +++ b/lib/libc/iconv/bsd_iconv.c @@ -70,8 +70,6 @@ } handle->cv_shared->ci_discard_ilseq = strcasestr(out, "//IGNORE"); - handle->cv_shared->ci_ilseq_invalid = false; - handle->cv_shared->ci_hooks = NULL; return ((iconv_t)(void *)handle); } diff --git a/lib/libc/iconv/citrus_iconv.c b/lib/libc/iconv/citrus_iconv.c --- a/lib/libc/iconv/citrus_iconv.c +++ b/lib/libc/iconv/citrus_iconv.c @@ -140,14 +140,11 @@ /* initialize iconv handle */ len_convname = strlen(convname); - ci = malloc(sizeof(*ci) + len_convname + 1); + ci = calloc(1, sizeof(*ci) + len_convname + 1); if (!ci) { ret = errno; goto err; } - ci->ci_module = NULL; - ci->ci_ops = NULL; - ci->ci_closure = NULL; ci->ci_convname = (void *)&ci[1]; memcpy(ci->ci_convname, convname, len_convname + 1); diff --git a/lib/libc/locale/cXXrtomb_iconv.h b/lib/libc/locale/cXXrtomb_iconv.h --- a/lib/libc/locale/cXXrtomb_iconv.h +++ b/lib/libc/locale/cXXrtomb_iconv.h @@ -75,8 +75,6 @@ errno = EINVAL; return (-1); } - handle->cv_shared->ci_discard_ilseq = false; - handle->cv_shared->ci_hooks = NULL; cs->srcbuf_len = 0; cs->initialized = true; if (s == NULL) diff --git a/lib/libc/locale/mbrtocXX_iconv.h b/lib/libc/locale/mbrtocXX_iconv.h --- a/lib/libc/locale/mbrtocXX_iconv.h +++ b/lib/libc/locale/mbrtocXX_iconv.h @@ -78,8 +78,6 @@ errno = EINVAL; return (-1); } - handle->cv_shared->ci_discard_ilseq = false; - handle->cv_shared->ci_hooks = NULL; cs->srcbuf_len = cs->dstbuf_len = 0; cs->initialized = true; if (s == NULL)