Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Feb 2015 20:30:26 +0000 (UTC)
From:      Alexander Kabaev <kan@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r279404 - head/lib/libc/iconv
Message-ID:  <201502282030.t1SKUQJl067861@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kan
Date: Sat Feb 28 20:30:25 2015
New Revision: 279404
URL: https://svnweb.freebsd.org/changeset/base/279404

Log:
  Avoid lookup of CODESET aliases using uninitialized path
  
  We do not use iconv.alias file, so avoid using the vestiges
  of the code that do.
  
  Differential Revision:	https://reviews.freebsd.org/D1729
  Reviewed by: emaste
  MFC after: 2 weeks

Modified:
  head/lib/libc/iconv/citrus_iconv.c

Modified: head/lib/libc/iconv/citrus_iconv.c
==============================================================================
--- head/lib/libc/iconv/citrus_iconv.c	Sat Feb 28 20:03:52 2015	(r279403)
+++ head/lib/libc/iconv/citrus_iconv.c	Sat Feb 28 20:30:25 2015	(r279404)
@@ -278,7 +278,9 @@ _citrus_iconv_open(struct _citrus_iconv 
 	struct _citrus_iconv *cv = NULL;
 	struct _citrus_iconv_shared *ci = NULL;
 	char realdst[PATH_MAX], realsrc[PATH_MAX];
+#ifdef _PATH_ICONV
 	char buf[PATH_MAX], path[PATH_MAX];
+#endif
 	int ret;
 
 	init_cache();
@@ -290,10 +292,16 @@ _citrus_iconv_open(struct _citrus_iconv 
 		dst = nl_langinfo(CODESET);
 
 	/* resolve codeset name aliases */
+#ifdef _PATH_ICONV
+	snprintf(path, sizeof(path), "%s/%s", _PATH_ICONV, _CITRUS_ICONV_ALIAS);
 	strlcpy(realsrc, _lookup_alias(path, src, buf, (size_t)PATH_MAX,
 	    _LOOKUP_CASE_IGNORE), (size_t)PATH_MAX);
 	strlcpy(realdst, _lookup_alias(path, dst, buf, (size_t)PATH_MAX,
 	    _LOOKUP_CASE_IGNORE), (size_t)PATH_MAX);
+#else
+	strlcpy(realsrc, src, (size_t)PATH_MAX);
+	strlcpy(realdst, dst, (size_t)PATH_MAX);
+#endif
 
 	/* sanity check */
 	if (strchr(realsrc, '/') != NULL || strchr(realdst, '/'))



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502282030.t1SKUQJl067861>