summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addr2line.c6
-rw-r--r--dln.c2
2 files changed, 3 insertions, 5 deletions
diff --git a/addr2line.c b/addr2line.c
index f936694724..92ff6b152b 100644
--- a/addr2line.c
+++ b/addr2line.c
@@ -444,10 +444,8 @@ follow_debuglink(char *debuglink, int num_traces, void **traces, char **syms,
subdir = (char *)alloca(strlen(binary_filename) + 1);
strcpy(subdir, binary_filename);
strcpy(binary_filename, global_debug_dir);
- strncat(binary_filename, subdir,
- PATH_MAX - strlen(binary_filename) - 1);
- strncat(binary_filename, debuglink,
- PATH_MAX - strlen(binary_filename) - 1);
+ strlcat(binary_filename, subdir, PATH_MAX);
+ strlcat(binary_filename, debuglink, PATH_MAX);
munmap(current_line->mapped, current_line->mapped_size);
close(current_line->fd);
diff --git a/dln.c b/dln.c
index e6b20d54e3..a3317984e7 100644
--- a/dln.c
+++ b/dln.c
@@ -1180,7 +1180,7 @@ aix_loaderror(const char *pathname)
{
char *message[1024], errbuf[1024];
int i;
-#define ERRBUF_APPEND(s) strncat(errbuf, (s), sizeof(errbuf)-strlen(errbuf)-1)
+#define ERRBUF_APPEND(s) strlcat(errbuf, (s), sizeof(errbuf))
snprintf(errbuf, sizeof(errbuf), "load failed - %s. ", pathname);
if (loadquery(L_GETMESSAGES, &message[0], sizeof(message)) != -1) {