gbranden pushed a commit to branch master
in repository groff.
commit 4f6c9b7055702db9e1d7be1afee89e7b93792096
Author: G. Branden Robinson <[email protected]>
AuthorDate: Thu Sep 10 06:40:09 2026 -0500
[libbib,indxbib]: Fix Savannah #68703 (2/4).
Fix mismatched memory allocation/deallocation techniques, which risks
undefined behavior (UB) in C++.
* src/libs/libbib/search.cpp (search_item::~search_item): Deallocate
`name` with free(3) rather than `delete[]`.
---
ChangeLog | 2 ++
src/include/search.h | 2 +-
src/libs/libbib/search.cpp | 2 +-
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ed916b85e..ef659967b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,8 @@
"<stdlib.h>" header file for `free()` symbol.
(search_list_iterator::~search_list_iterator): Deallocate
`query` with free(3) rather than `delete[]`.
+ (search_item::~search_item): Deallocate `name` with free(3)
+ rather than `delete[]`.
2026-09-12 G. Branden Robinson <[email protected]>
diff --git a/src/include/search.h b/src/include/search.h
index b8f033318..a919268bc 100644
--- a/src/include/search.h
+++ b/src/include/search.h
@@ -68,7 +68,7 @@ public:
class search_item {
protected:
- char *name;
+ char *name; // to be freed with free()
int filename_id;
public:
search_item *next;
diff --git a/src/libs/libbib/search.cpp b/src/libs/libbib/search.cpp
index 847f8b353..dccc44e8d 100644
--- a/src/libs/libbib/search.cpp
+++ b/src/libs/libbib/search.cpp
@@ -118,7 +118,7 @@ search_item::search_item(const char *nm, int fid)
search_item::~search_item()
{
- delete[] name;
+ free(name);
}
int search_item::is_named(const char *nm) const
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit