Module: kamailio
Branch: master
Commit: e347d89dba284f2d9635828b10b7ed49ad2244ad
URL: 
https://github.com/kamailio/kamailio/commit/e347d89dba284f2d9635828b10b7ed49ad2244ad

Author: Victor Seva <[email protected]>
Committer: Victor Seva <[email protected]>
Date: 2023-07-13T00:12:59+02:00

core: socket_info use strncpy() for setting boundaries

> https://github.com/kamailio/kamailio/security/code-scanning/2586

---

Modified: src/core/socket_info.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/e347d89dba284f2d9635828b10b7ed49ad2244ad.diff
Patch: 
https://github.com/kamailio/kamailio/commit/e347d89dba284f2d9635828b10b7ed49ad2244ad.patch

---

diff --git a/src/core/socket_info.c b/src/core/socket_info.c
index 56a4ba261eb..04a2e609323 100644
--- a/src/core/socket_info.c
+++ b/src/core/socket_info.c
@@ -329,10 +329,10 @@ static inline struct socket_info *new_sock_info(char 
*name,
        }
        if(usename != NULL) {
                si->useinfo.name.len = strlen(usename);
-               si->useinfo.name.s = (char *)pkg_malloc(si->useinfo.name.len + 
1);
+               si->useinfo.name.s = (char *)pkg_malloc(si->useinfo.name.len);
                if(si->useinfo.name.s == 0)
                        goto error;
-               strcpy(si->useinfo.name.s, usename);
+               strncpy(si->useinfo.name.s, usename, si->useinfo.name.len + 1);
                if(usename[0] == '[' && usename[si->useinfo.name.len - 1] == 
']') {
                        si->useinfo.address_str.len = si->useinfo.name.len - 2;
                        p = si->useinfo.name.s + 1;
@@ -354,7 +354,7 @@ static inline struct socket_info *new_sock_info(char *name,
                                (char *)pkg_malloc(si->useinfo.port_no_str.len 
+ 1);
                if(si->useinfo.port_no_str.s == NULL)
                        goto error;
-               strcpy(si->useinfo.port_no_str.s, p);
+               strncpy(si->useinfo.port_no_str.s, p, 
si->useinfo.port_no_str.len);
                si->useinfo.port_no = useport;
 
                he = resolvehost(si->useinfo.name.s);

_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to [email protected]

Reply via email to