diff options
-rw-r--r-- | e-util/e-iconv.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/e-util/e-iconv.c b/e-util/e-iconv.c index fdd66fa956..35106577f0 100644 --- a/e-util/e-iconv.c +++ b/e-util/e-iconv.c @@ -317,12 +317,12 @@ iconv_t e_iconv_open(const char *oto, const char *ofrom) struct _iconv_cache_node *in; iconv_t ip; + if (oto == NULL || ofrom == NULL) + return (iconv_t)-1; + to = e_iconv_charset_name(oto); from = e_iconv_charset_name(ofrom); - if (to == NULL) - to = ""; - if (from == NULL) - from = ""; + tofrom = alloca(strlen(to) +strlen(from) + 2); sprintf(tofrom, "%s%%%s", to, from); |