Fix overflow in aiString

pull/3589/head
Kim Kulling 2021-01-18 19:44:10 +01:00 committed by GitHub
parent 3c1d8850a4
commit 5a764fff04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 2 deletions

View File

@ -307,7 +307,7 @@ struct aiString {
void Set(const char *sz) { void Set(const char *sz) {
const ai_int32 len = (ai_uint32)::strlen(sz); const ai_int32 len = (ai_uint32)::strlen(sz);
if (len > (ai_int32)MAXLEN - 1) { if (len > (ai_int32)MAXLEN - 1) {
return; len = (ai_int32) MAXLEN - 1;
} }
length = len; length = len;
memcpy(data, sz, len); memcpy(data, sz, len);
@ -321,7 +321,10 @@ struct aiString {
} }
length = rOther.length; length = rOther.length;
; if (length >(MAXLEN - 1)) {
length = (ai_int32) MAXLEN - 1;
}
memcpy(data, rOther.data, length); memcpy(data, rOther.data, length);
data[length] = '\0'; data[length] = '\0';
return *this; return *this;