Module: kamailio
Branch: master
Commit: 33c40170e73adc71e2ad66d8dbb6c776b771ce5d
URL:
https://github.com/kamailio/kamailio/commit/33c40170e73adc71e2ad66d8dbb6c77…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-01-11T08:19:06+01:00
presence: utils - use memcpy instead of strncpy for coherence
---
Modified: src/modules/presence/utils_func.h
---
Diff:
https://github.com/kamailio/kamailio/commit/33c40170e73adc71e2ad66d8dbb6c77…
Patch:
https://github.com/kamailio/kamailio/commit/33c40170e73adc71e2ad66d8dbb6c77…
---
diff --git a/src/modules/presence/utils_func.h b/src/modules/presence/utils_func.h
index 27fcc07d0a..5c5d58b22a 100644
--- a/src/modules/presence/utils_func.h
+++ b/src/modules/presence/utils_func.h
@@ -137,7 +137,7 @@ static inline int ps_fill_local_contact(struct sip_msg *msg, str
*contact)
contact->len += 1;
p += 1;
}
- strncpy(p, ip.s, ip.len);
+ memcpy(p, ip.s, ip.len);
contact->len += ip.len;
p += ip.len;
if(msg->rcv.bind_address->address.af == AF_INET6) {
@@ -145,7 +145,7 @@ static inline int ps_fill_local_contact(struct sip_msg *msg, str
*contact)
contact->len += 1;
p += 1;
}
- if(contact->len > LCONTACT_BUF_SIZE - 21) {
+ if(contact->len > LCONTACT_BUF_SIZE - 22) {
LM_ERR("buffer overflow\n");
goto error;
}
@@ -156,8 +156,9 @@ static inline int ps_fill_local_contact(struct sip_msg *msg, str
*contact)
}
contact->len += len;
p += len;
- strncpy(p, proto, plen);
+ memcpy(p, proto, plen);
contact->len += plen;
+ contact->s[contact->len] = '\0';
return 0;
error: