summaryrefslogtreecommitdiff
path: root/src/Fl_Tile.cxx
diff options
context:
space:
mode:
authorMatthias Melcher <github@matthiasm.com>2023-11-23 00:03:35 +0100
committerMatthias Melcher <github@matthiasm.com>2023-11-23 00:03:35 +0100
commitde2dd0cddf79ace6ca285f2fc5b3e5cfd2298b44 (patch)
treeae8c275fdaea446560d073711d006394e2e19bd0 /src/Fl_Tile.cxx
parent8041a62e594400d3cca487a4b07119a000a3020c (diff)
Adds zero size check in Fl_Tile::on_move
Diffstat (limited to 'src/Fl_Tile.cxx')
-rw-r--r--src/Fl_Tile.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Fl_Tile.cxx b/src/Fl_Tile.cxx
index 5c26d3f10..41147c38a 100644
--- a/src/Fl_Tile.cxx
+++ b/src/Fl_Tile.cxx
@@ -706,8 +706,9 @@ int Fl_Tile::on_move(int oldIndex, int newIndex) {
*/
void Fl_Tile::on_remove(int index) {
if (size_range_) {
- if ((index >= 0) && (index < size_range_size_))
- memmove(size_range_+index, size_range_+index+1, sizeof(Size_Range)*(size_range_size_-index-1));
+ int num_trailing = size_range_size_-index-1;
+ if ((index >= 0) && (index < size_range_size_) && (num_trailing > 0))
+ memmove(size_range_+index, size_range_+index+1, sizeof(Size_Range)*num_trailing);
size_range_size_--;
}
}