From 942d35f72bea5a0d19a5d0e0a5ca533e37a88b2c Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Thu, 6 Jun 2019 14:10:08 +0100 Subject: libctf: avoid strndup Not all platforms have it. Use libiberty xstrndup() instead. (The include of libiberty.h happens in an unusual place due to the requirements of synchronization of most source files between this project and another that does not use libiberty. It serves to pull libiberty.h in for all source files in libctf/, which does the trick.) Tested on x86_64-pc-linux-gnu, x86_64-unknown-freebsd12.0, sparc-sun-solaris2.11, i686-pc-cygwin, i686-w64-mingw32. libctf/ * ctf-decls.h: Include . * ctf-lookup.c (ctf_lookup_by_name): Call xstrndup(), not strndup(). --- libctf/ctf-lookup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libctf/ctf-lookup.c') diff --git a/libctf/ctf-lookup.c b/libctf/ctf-lookup.c index ab12715..4089ad9 100644 --- a/libctf/ctf-lookup.c +++ b/libctf/ctf-lookup.c @@ -153,7 +153,7 @@ ctf_lookup_by_name (ctf_file_t *fp, const char *name) else { free (fp->ctf_tmp_typeslice); - fp->ctf_tmp_typeslice = strndup (p, (size_t) (q - p)); + fp->ctf_tmp_typeslice = xstrndup (p, (size_t) (q - p)); if (fp->ctf_tmp_typeslice == NULL) { (void) ctf_set_errno (fp, ENOMEM); -- cgit v1.1