projects
/
framework
/
connectivity
/
connman.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dnsproxy: Fix wrong domain len causing crash in memmove
[framework/connectivity/connman.git]
/
src
/
dnsproxy.c
diff --git
a/src/dnsproxy.c
b/src/dnsproxy.c
index
6a9b138
..
5c4099b
100644
(file)
--- a/
src/dnsproxy.c
+++ b/
src/dnsproxy.c
@@
-1551,13
+1551,13
@@
static int forward_dns_reply(unsigned char *reply, int reply_len, int protocol,
*/
ptr = reply + offset + sizeof(struct domain_hdr);
host_len = *ptr;
*/
ptr = reply + offset + sizeof(struct domain_hdr);
host_len = *ptr;
- domain_len = strlen((const char *)ptr
) - host_len - 1
;
+ domain_len = strlen((const char *)ptr
+ host_len + 1)
;
/*
/*
- * remove the domain name and replace
d
it by the end
+ * remove the domain name and replace it by the end
* of reply.
*/
* of reply.
*/
- mem
move
(ptr + host_len + 1,
+ mem
cpy
(ptr + host_len + 1,
ptr + host_len + domain_len + 1,
reply_len - (ptr - reply + domain_len));
ptr + host_len + domain_len + 1,
reply_len - (ptr - reply + domain_len));