svn commit: r286521 - projects/collation/lib/libc/locale

Baptiste Daroussin bapt at FreeBSD.org
Sun Aug 9 11:50:51 UTC 2015


Author: bapt
Date: Sun Aug  9 11:50:50 2015
New Revision: 286521
URL: https://svnweb.freebsd.org/changeset/base/286521

Log:
  Use asprintf/free instead of snprintf

Modified:
  projects/collation/lib/libc/locale/collate.c

Modified: projects/collation/lib/libc/locale/collate.c
==============================================================================
--- projects/collation/lib/libc/locale/collate.c	Sun Aug  9 11:47:01 2015	(r286520)
+++ projects/collation/lib/libc/locale/collate.c	Sun Aug  9 11:50:50 2015	(r286521)
@@ -107,7 +107,7 @@ int
 __collate_load_tables_l(const char *encoding, struct xlocale_collate *table)
 {
 	int i, chains, z;
-	char buf[PATH_MAX];
+	char *buf;
 	char *TMP;
 	char *map;
 	collate_info_t *info;
@@ -120,11 +120,13 @@ __collate_load_tables_l(const char *enco
 		return (_LDP_CACHE);
 	}
 
-	(void) snprintf(buf, sizeof (buf), "%s/%s/LC_COLLATE",
-	    _PathLocale, encoding);
+	asnprintf(&buf, "%s/%s/LC_COLLATE", _PathLocale, encoding);
+	if (buf == NULL)
+		return (_LDP_ERROR);
 
 	if ((fd = _open(buf, O_RDONLY)) < 0)
 		return (_LDP_ERROR);
+	free(buf);
 	if (_fstat(fd, &sbuf) < 0) {
 		(void) _close(fd);
 		return (_LDP_ERROR);


More information about the svn-src-projects mailing list