From 4ccadff4b9120cba114da964fd0e79c762a6fd3d Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sat, 2 Mar 2024 23:14:07 +0100 Subject: [PATCH] Fix test/editor use of strncy to strlcpy --- documentation/src/editor.dox | 11 ++++++----- test/editor.cxx | 13 +++++++------ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/documentation/src/editor.dox b/documentation/src/editor.dox index 823c7c34c..13b23b58d 100644 --- a/documentation/src/editor.dox +++ b/documentation/src/editor.dox @@ -52,6 +52,7 @@ marked in the source code as `TUTORIAL_CHAPTER = 1`. \code #include #include +#include Fl_Double_Window *app_window = NULL; @@ -365,7 +366,7 @@ little chunk of code will separate the file name from the path before we call // insert before `if (file_chooser.show()...` if (app_filename[0]) { char temp_filename[FL_PATH_MAX]; - strncpy(temp_filename, app_filename, FL_PATH_MAX-1); + strlcpy(temp_filename, app_filename, FL_PATH_MAX); const char *name = fl_filename_name(temp_filename); if (name) { file_chooser.preset_file(name); @@ -478,7 +479,7 @@ name: ... if (app_filename[0]) { char temp_filename[FL_PATH_MAX]; - strncpy(temp_filename, app_filename, FL_PATH_MAX-1); + strlcpy(temp_filename, app_filename, FL_PATH_MAX); const char *name = fl_filename_name(temp_filename); if (name) { file_chooser.preset_file(name); @@ -647,7 +648,7 @@ char last_find_text[1024] = ""; void menu_find_callback(Fl_Widget*, void* v) { const char *find_text = fl_input("Find in text:", last_find_text); if (find_text) { - strncpy(last_find_text, find_text, sizeof(last_find_text)-1); + strlcpy(last_find_text, find_text, sizeof(last_find_text)); find_next(find_text); } } @@ -811,8 +812,8 @@ function: \code void Replace_Dialog::find_next_callback(Fl_Widget*, void* my_dialog) { Replace_Dialog *dlg = static_cast(my_dialog); - strncpy(last_find_text, dlg->find_text_input->value(), sizeof(last_find_text)-1); - strncpy(last_replace_text, dlg->replace_text_input->value(), sizeof(last_replace_text)-1); + strlcpy(last_find_text, dlg->find_text_input->value(), sizeof(last_find_text)); + strlcpy(last_replace_text, dlg->replace_text_input->value(), sizeof(last_replace_text)); if (last_find_text[0]) find_next(last_find_text); } diff --git a/test/editor.cxx b/test/editor.cxx index a7618d15a..a6ab7734c 100644 --- a/test/editor.cxx +++ b/test/editor.cxx @@ -26,6 +26,7 @@ #include #include +#include Fl_Double_Window *app_window = NULL; @@ -80,7 +81,7 @@ void set_changed(bool v) { void set_filename(const char *new_filename) { if (new_filename) { - strncpy(app_filename, new_filename, FL_PATH_MAX); + strlcpy(app_filename, new_filename, FL_PATH_MAX); } else { app_filename[0] = 0; } @@ -187,7 +188,7 @@ void menu_save_as_callback(Fl_Widget*, void*) { file_chooser.type(Fl_Native_File_Chooser::BROWSE_SAVE_FILE); if (app_filename[0]) { char temp_filename[FL_PATH_MAX]; - strncpy(temp_filename, app_filename, FL_PATH_MAX-1); + strlcpy(temp_filename, app_filename, FL_PATH_MAX); const char *name = fl_filename_name(temp_filename); if (name) { file_chooser.preset_file(name); @@ -262,7 +263,7 @@ void menu_open_callback(Fl_Widget*, void*) { file_chooser.type(Fl_Native_File_Chooser::BROWSE_FILE); if (app_filename[0]) { char temp_filename[FL_PATH_MAX]; - strncpy(temp_filename, app_filename, FL_PATH_MAX-1); + strlcpy(temp_filename, app_filename, FL_PATH_MAX); const char *name = fl_filename_name(temp_filename); if (name) { file_chooser.preset_file(name); @@ -398,7 +399,7 @@ bool find_next(const char *needle) { void menu_find_callback(Fl_Widget*, void* v) { const char *find_text = fl_input("Find in text:", last_find_text); if (find_text) { - strncpy(last_find_text, find_text, sizeof(last_find_text)-1); + strlcpy(last_find_text, find_text, sizeof(last_find_text)); find_next(find_text); } } @@ -496,8 +497,8 @@ void Replace_Dialog::show() { void Replace_Dialog::find_next_callback(Fl_Widget*, void* my_dialog) { Replace_Dialog *dlg = static_cast(my_dialog); - strncpy(last_find_text, dlg->find_text_input->value(), sizeof(last_find_text)-1); - strncpy(last_replace_text, dlg->replace_text_input->value(), sizeof(last_replace_text)-1); + strlcpy(last_find_text, dlg->find_text_input->value(), sizeof(last_find_text)); + strlcpy(last_replace_text, dlg->replace_text_input->value(), sizeof(last_replace_text)); if (last_find_text[0]) find_next(last_find_text); }