Здравствуйте, IID, Вы писали:
IID>Здравствуйте, Pzz, Вы писали:
Pzz>>Чтобы вставить объект в середину вектора объектов, простым советским memmove не обойдешься, придется конструкторы дергать.
IID>То ли дело в чистом си! Нужна копия сокета при accept — выделим память и алга в нее memcpy. В результате CVE-2017-8890, чудесная дырочка, через которую буханки трескались как орешки. С success rate выше 98% (сорян, но выиграть две гонки с 100% рейтом это уже фантастика).
Это
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=657831ffc38e30092a2d5f03d385d710eb88b09a ? Здесь уже была функция inet_csk_clone(), содержащая ошибку, а не memcpy. Большинство CVE double free находятся в редких путях выполнения, вроде обработки ошибок. Да и вообще для ядра linux фичи С++ были бы как мертвому припарка.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)