Skip to content

Commit 13ee4ca

Browse files
committed
lib: bm_zms: check input parameters in bm_zms_register
Adds input parameter checks. Signed-off-by: Mirko Covizzi <[email protected]>
1 parent 2260cc3 commit 13ee4ca

File tree

4 files changed

+14
-1
lines changed

4 files changed

+14
-1
lines changed

doc/nrf-bm/release_notes/release_notes_changelog.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,9 @@ No changes since the latest nRF Connect SDK Bare Metal release.
5252
Libraries
5353
=========
5454

55-
No changes since the latest nRF Connect SDK Bare Metal release.
55+
* :ref:`lib_bm_zms` library:
56+
57+
* Updated the :c:func:`bm_zms_register` function to return ``-EINVAL`` when passing ``NULL`` input parameters.
5658

5759
Samples
5860
=======

include/bm_zms.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ typedef void (*bm_zms_cb_t)(bm_zms_evt_t const *p_evt);
112112
*
113113
* @retval 0 on success.
114114
* @retval -ENOMEM if no more callback slots are available.
115+
* @retval -EINVAL if @p fs or @p cb are NULL.
115116
*/
116117
int bm_zms_register(struct bm_zms_fs *fs, bm_zms_cb_t cb);
117118

lib/bm_zms/bm_zms.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,10 @@ int bm_zms_register(struct bm_zms_fs *fs, bm_zms_cb_t cb)
322322
{
323323
int i;
324324

325+
if (!fs || !cb) {
326+
return -EINVAL;
327+
}
328+
325329
for (i = 0; i < CONFIG_BM_ZMS_MAX_USERS; i++) {
326330
if (zms_cb_table[i] == NULL) {
327331
break;

tests/lib/bm_zms/src/main.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ ZTEST_F(bm_zms, test_bm_zms_register)
116116
{
117117
int err;
118118

119+
err = bm_zms_register(NULL, &bm_zms_test_handler);
120+
zassert_true(err == -EINVAL, "bm_zms_register unexpected failure");
121+
122+
err = bm_zms_register(&fixture->fs, NULL);
123+
zassert_true(err == -EINVAL, "bm_zms_register unexpected failure");
124+
119125
err = bm_zms_register(&fixture->fs, &bm_zms_test_handler);
120126
zassert_true(err == 0, "bm_zms_register call failure");
121127
}

0 commit comments

Comments
 (0)