summaryrefslogtreecommitdiff
path: root/common_modules
diff options
context:
space:
mode:
authorFrédéric Desbiens <[email protected]>2026-07-27 10:30:49 -0400
committerGitHub <[email protected]>2026-07-27 10:30:49 -0400
commit190c4d6be48ae2fcf555d282691f6dfd985323ee (patch)
treee98463eae237e056ff5143b4c4ec1feb8571a740 /common_modules
parent92ce0754ed42f9d9d1121805057db5cc9c171d66 (diff)
Flagged txm_module_object_pointer_get as deprecated (#562)
Added #pragma message compile-time warning to the module library source and updated the DESCRIPTION blocks in both the library and manager implementations. Reason: this wrapper passes UINT_MAX as the name-buffer length to the underlying extended search. The comparison loop can therefore read past the end of a short name buffer, which is undefined behaviour. Callers should use txm_module_object_pointer_get_extended() and supply the actual buffer length. Co-authored-by: Copilot <[email protected]>
Diffstat (limited to 'common_modules')
-rw-r--r--common_modules/module_lib/src/txm_module_object_pointer_get.c23
-rw-r--r--common_modules/module_manager/src/txm_module_manager_object_pointer_get.c7
2 files changed, 24 insertions, 6 deletions
diff --git a/common_modules/module_lib/src/txm_module_object_pointer_get.c b/common_modules/module_lib/src/txm_module_object_pointer_get.c
index 6417457a..fcd7ab1f 100644
--- a/common_modules/module_lib/src/txm_module_object_pointer_get.c
+++ b/common_modules/module_lib/src/txm_module_object_pointer_get.c
@@ -23,6 +23,22 @@
#define TXM_MODULE
#include "txm_module.h"
#ifndef TXM_MODULE_OBJECT_POINTER_GET_CALL_NOT_USED
+
+/* DEPRECATION NOTICE
+ * txm_module_object_pointer_get() is deprecated. Do not use it in new code.
+ *
+ * WHY: this function passes UINT_MAX as the name-buffer length to the
+ * underlying search. If the name pointer points to a buffer shorter than
+ * the searched string, the comparison can read past the end of the buffer,
+ * which is undefined behaviour.
+ *
+ * WHAT TO DO: replace calls with txm_module_object_pointer_get_extended(),
+ * passing the actual length of the name buffer as the third argument.
+ */
+#pragma message("txm_module_object_pointer_get() is deprecated. " \
+ "Use txm_module_object_pointer_get_extended() and pass " \
+ "the actual name buffer length.")
+
/**************************************************************************/
/* */
/* FUNCTION RELEASE */
@@ -35,9 +51,10 @@
/* */
/* DESCRIPTION */
/* */
-/* This function is deprecated and calls the secure version of this */
-/* function (_txm_module_manager_object_pointer_get_extended) with the */
-/* maximum possible name length since none was passed. */
+/* DEPRECATED. Use _txm_module_object_pointer_get_extended() instead, */
+/* passing the actual name-buffer length. This wrapper passes */
+/* UINT_MAX as the length, which can cause the name-comparison loop */
+/* to read past the end of a short buffer (undefined behaviour). */
/* */
/* INPUT */
/* */
diff --git a/common_modules/module_manager/src/txm_module_manager_object_pointer_get.c b/common_modules/module_manager/src/txm_module_manager_object_pointer_get.c
index 84cf6c96..8b24558b 100644
--- a/common_modules/module_manager/src/txm_module_manager_object_pointer_get.c
+++ b/common_modules/module_manager/src/txm_module_manager_object_pointer_get.c
@@ -37,9 +37,10 @@
/* */
/* DESCRIPTION */
/* */
-/* This function is deprecated and calls the secure version of this */
-/* function (_txm_module_manager_object_pointer_get_extended) with the */
-/* maximum possible name length since none was passed. */
+/* DEPRECATED. Use _txm_module_manager_object_pointer_get_extended() */
+/* instead, passing the actual name-buffer length. This wrapper */
+/* passes UINT_MAX as the length, which can cause the name-comparison */
+/* loop to read past the end of a short buffer (undefined behaviour). */
/* */
/* INPUT */
/* */