From 4ed27ca97ae7f21f56d038b6366d72975711e175 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net> Date: Fri, 22 Mar 2024 05:15:06 -0400 Subject: [PATCH] Use safer string things... We really need strlcpy()/strlcat() wrappers in xpdev. --- src/syncterm/ripper.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/syncterm/ripper.c b/src/syncterm/ripper.c index ffc5eb7122..4fd5f67f97 100644 --- a/src/syncterm/ripper.c +++ b/src/syncterm/ripper.c @@ -15479,11 +15479,15 @@ do_skypix(char *buf, size_t len) break; char *dldir = strdup(rip.bbs->dldir); strcpy(rip.bbs->dldir, cache_path); - strcat(cache_path, p); - suspend_rip(true); - xmodem_download(rip.bbs, XMODEM | CRC | RECV, cache_path); - suspend_rip(false); - strcpy(rip.bbs->dldir, dldir); + // TODO: Handle error... + if ((strlen(cache_path) + strlen(p) + 1) <= sizeof(cache_path)) { + strcat(cache_path, p); + suspend_rip(true); + xmodem_download(rip.bbs, XMODEM | CRC | RECV, cache_path); + suspend_rip(false); + } + // TODO: strlcpy() needed in xpdev + strncpy(rip.bbs->dldir, dldir, sizeof(rip.bbs->dldir)); free(dldir); } break; -- GitLab