ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1031425 Топик полностью
fk0, легенда (27.08.2020 11:55, просмотров: 286) ответил VLLV на Правильно ругается, конечно небезопасно, при записи в cfg можно затереть 0. И вообще щаз буденновец придет и сожгет на такую десериализацию.
Я нифига не понял, POV как всегда -- никаких деталей, мол "не работает" и всё тут. Что такое, например, src? Какая именно вообще ошибка? Но баг уже виден невооружённым глазом, только видимо другой. Если здесь snprintf используется для того, чтобы скопировать строку, то нужно писать не snprintf(dest, maxsize, src), а snprintf(dest, maxsize, "%s", src) или даже snprintf(dest, maxsize, "%.*s", (int)src_size, src), последнее если размер src известен, чтоб не вычислять заново. 

Формат задан явно. Потому, что если в src найдутся какие-нибудь %s, %d или хуже того %n -- будет в лучшем случае сегфолт, в худшем трудноуловимые глюки.

[ZX]