
24.08.2021, 15:14
|
|
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами:
4091290
Репутация:
213
|
|
Сообщение от kin4stat
А прочитать сообщение об ошибке и попытаться вникнуть что там написано не пробовал? Эти предупреждения появляются из-за многочисленных выстрелов в ногу другими людьми, и даже в крупных проектах по типу MTA/Linux/CPython.
Да и вообще, зачем использовать функцию форматирования с кучей проверок форматирования для копирования константной строки? Про strcpy не слышал? Еще ты потерял const у szText и szPrefix.
О, а еще у тебя UB, так как имена начинающиеся на _ и на __ зарезервированы.
C++:
Код:
void
__fastcall
HOOKED_ChatAddEntry
(
void
*
_this
,
void
*
pUnk
,
int
nType
,
const
char
*
szText
,
const
char
*
szPrefix
,
DWORD textColor
,
DWORD prefixColor
)
{
std
::
string_view Message
;
if
(
nType
==
8
&&
std
::
string_view
(
szText
)
==
"{FFFFFF}SA-MP {B9C9BF}0.3.7 {FFFFFF}Started"
)
Message
=
"САМП ЗАПУЩЕН ЪУЪЪУЪУЪУЪУЪ"
;
return
origChatAddEntry
(
_this
,
nType
,
Message
.
data
(
)
,
szPrefix
,
textColor
,
prefixColor
)
;
}
В чем проявляется UB?
upd: ты возвращаешь Message.data(). Из-за этого весь чат будет пустым, кроме сообщения о старте сампа
|
|
|