mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-17 10:26:15 +00:00
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
This commit is contained in:
parent
5019630122
commit
3956b1013e
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=279404
@ -278,7 +278,9 @@ _citrus_iconv_open(struct _citrus_iconv * __restrict * __restrict rcv,
|
||||
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 * __restrict * __restrict rcv,
|
||||
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, '/'))
|
||||
|
Loading…
Reference in New Issue
Block a user