<!-- Kamailio Pull Request Template -->

#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the 
checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING 
guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on 
sr-dev mailing list -->
- [X] Commit message has the format required by CONTRIBUTING guide
- [X] Commits are split per component (core, individual modules, libs, utils, 
...)
- [X] Each component has a single commit (if not, squash them into one commit)
- [X] No commits to README files for modules (changes must be done to docbook 
files
in `doc/` subfolder, the README file is autogenerated)

#### Type Of Change
- [X] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)

#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the 
checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [X] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)

#### Description

Noticed internally after introducing NULL pointer / 0 length
guards in d79540f7aba4f8c2bab1227bbe724609535b0d5d
for the `db_redis_key_add_string()`.

db_redis module implicitly supports conversion
of <null> key values into empty "" strings,
see: `db_redis_val2str()`.

Remove empty-string/zero-length guard introduced
previously (for adding keys), because they break this support.

E.g.: dialog and usrloc modules can in fact
handle <null> key values.

The guard for the prepend can be left intact because doesn't break anything.

Additionally: introduce the memcpy() guard,
because running it on the NULL pointer / 0 length
is in fact technically a typical UB.

The thing about memcpy() was never noticed before, because modern
libc implementations do not de-reference pointers
when the size is zero.

You can view, comment on, or merge this pull request online at:

  https://github.com/kamailio/kamailio/pull/4559

-- Commit Summary --

  * db_redis: revert support of NULL values

-- File Changes --

    M src/modules/db_redis/redis_table.c (15)

-- Patch Links --

https://github.com/kamailio/kamailio/pull/4559.patch
https://github.com/kamailio/kamailio/pull/4559.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4559
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/pull/[email protected]>
_______________________________________________
Kamailio - Development Mailing List -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to