Use memmove instead of memcpy on overlapping memory areas.
Reported by Bob Alexander <balexander@expressor-software.com> in <http://thread.gmane.org/gmane.network.ssh.libssh2.devel/2530>.
This commit is contained in:
parent
82bf39dbfa
commit
463e09e55f
@ -512,7 +512,7 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data,
|
|||||||
message[message_len] = '\0';
|
message[message_len] = '\0';
|
||||||
language = (char *) data + 9 + message_len + 3;
|
language = (char *) data + 9 + message_len + 3;
|
||||||
if (language_len) {
|
if (language_len) {
|
||||||
memcpy(language, language + 1, language_len);
|
memmove(language, language + 1, language_len);
|
||||||
}
|
}
|
||||||
language[language_len] = '\0';
|
language[language_len] = '\0';
|
||||||
|
|
||||||
@ -571,7 +571,7 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data,
|
|||||||
message[message_len] = '\0';
|
message[message_len] = '\0';
|
||||||
language = (char *) data + 6 + message_len + 3;
|
language = (char *) data + 6 + message_len + 3;
|
||||||
if (language_len) {
|
if (language_len) {
|
||||||
memcpy(language, language + 1, language_len);
|
memmove(language, language + 1, language_len);
|
||||||
}
|
}
|
||||||
language[language_len] = '\0';
|
language[language_len] = '\0';
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user