diff -r b9ba22cb23f2 -r a5761d930267 ext/libelf/SConscript --- a/ext/libelf/SConscript Fri Jun 03 13:52:18 2011 -0500 +++ b/ext/libelf/SConscript Sat Jun 04 01:15:26 2011 -0700 @@ -40,6 +40,8 @@ ElfFile('elf_cntl.c') ElfFile('elf_data.c') ElfFile('elf_end.c') +ElfFile('elf_errmsg.c') +ElfFile('elf_errno.c') ElfFile('elf_fill.c') ElfFile('elf_flag.c') ElfFile('elf_getarhdr.c') diff -r b9ba22cb23f2 -r a5761d930267 ext/libelf/_libelf.h --- a/ext/libelf/_libelf.h Fri Jun 03 13:52:18 2011 -0500 +++ b/ext/libelf/_libelf.h Sat Jun 04 01:15:26 2011 -0700 @@ -30,6 +30,7 @@ #define __LIBELF_H_ #include "elf_queue.h" +#include "libelf.h" #ifndef NULL #define NULL ((void *) 0) diff -r b9ba22cb23f2 -r a5761d930267 ext/libelf/elf_errmsg.c --- a/ext/libelf/elf_errmsg.c Fri Jun 03 13:52:18 2011 -0500 +++ b/ext/libelf/elf_errmsg.c Sat Jun 04 01:15:26 2011 -0700 @@ -71,10 +71,10 @@ if (error < 0 || error >= ELF_E_NUM) return _libelf_errors[ELF_E_NUM]; if (oserr) { - strlcpy(LIBELF_PRIVATE(msg), _libelf_errors[error], + strncpy(LIBELF_PRIVATE(msg), _libelf_errors[error], sizeof(LIBELF_PRIVATE(msg))); - strlcat(LIBELF_PRIVATE(msg), ": ", sizeof(LIBELF_PRIVATE(msg))); - strlcat(LIBELF_PRIVATE(msg), strerror(oserr), + strncat(LIBELF_PRIVATE(msg), ": ", sizeof(LIBELF_PRIVATE(msg))); + strncat(LIBELF_PRIVATE(msg), strerror(oserr), sizeof(LIBELF_PRIVATE(msg))); return (const char *)&LIBELF_PRIVATE(msg); }