Skip to content

Commit 07772a6

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 07772a6

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

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)