summaryrefslogtreecommitdiff
path: root/extra/mariabackup/backup_copy.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-03-21 08:54:35 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2019-03-21 08:54:35 +0200
commit3d1b6f68f1915d9e1ee524b63a78cd412aff0ab4 (patch)
tree1e514849ed1b94080d6156bffe7278559b012fb6 /extra/mariabackup/backup_copy.cc
parent630199e7248bce59066850869cf1f932dbf8f994 (diff)
downloadmariadb-git-3d1b6f68f1915d9e1ee524b63a78cd412aff0ab4.tar.gz
Mariabackup: Ensure NUL termination in strncpy()
Diffstat (limited to 'extra/mariabackup/backup_copy.cc')
-rw-r--r--extra/mariabackup/backup_copy.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/extra/mariabackup/backup_copy.cc b/extra/mariabackup/backup_copy.cc
index be99d49a86f..7543ed89b1f 100644
--- a/extra/mariabackup/backup_copy.cc
+++ b/extra/mariabackup/backup_copy.cc
@@ -2352,7 +2352,8 @@ static void rocksdb_copy_back() {
return;
char rocksdb_home_dir[FN_REFLEN];
if (xb_rocksdb_datadir && is_abs_path(xb_rocksdb_datadir)) {
- strncpy(rocksdb_home_dir, xb_rocksdb_datadir, sizeof(rocksdb_home_dir));
+ strncpy(rocksdb_home_dir, xb_rocksdb_datadir, sizeof rocksdb_home_dir - 1);
+ rocksdb_home_dir[sizeof rocksdb_home_dir - 1] = '\0';
} else {
snprintf(rocksdb_home_dir, sizeof(rocksdb_home_dir), "%s/%s", mysql_data_home,
xb_rocksdb_datadir?trim_dotslash(xb_rocksdb_datadir): ROCKSDB_BACKUP_DIR);