История изменений
Исправление hateyoufeel, (текущая версия) :
Первый же вопрос выдал вот это.
V597 The compiler could delete the memset function call, which is used to flush final buffer. The RtlSecureZeroMemory() function should be used to erase the private data. md5.c 342
A buffer containing private data should be erased before function returns. The memset() function is used for this task, but it is incorrect. As compiler is aware that after calling memset() the 'final' buffer will not be utilized anymore, it is possible that compiler will remove memset() call altogether. Even more, it will certainly do it for release build. You can find more details on this topic in the 'Overwriting memory - why?' article and in the description of V597 diagnostic. Therefore, special functions should be used which cannot be removed by a compiler.
Я, кажется, уже писал об этом в каком-то треде про этот ваш PVS-Studio, но, если компилятор удаляет вызов memset, то это очень дерьмовый компилятор, и, наверное, стоит съездить к разработчикам этого чуда в гости и из любви к человечеству набить им рожи, чтобы они больше такого не делали.
Исходная версия hateyoufeel, :
Первый же вопрос выдал вот это.
V597 The compiler could delete the memset function call, which is used to flush final buffer. The RtlSecureZeroMemory() function should be used to erase the private data. md5.c 342
A buffer containing private data should be erased before function returns. The memset() function is used for this task, but it is incorrect. As compiler is aware that after calling memset() the 'final' buffer will not be utilized anymore, it is possible that compiler will remove memset() call altogether. Even more, it will certainly do it for release build. You can find more details on this topic in the 'Overwriting memory - why?' article and in the description of V597 diagnostic. Therefore, special functions should be used which cannot be removed by a compiler.
Я, кажется, уже писал об этом в каком-то треде про этот ваш PVS-Studio, но, если компилятор удаляет вызов memset, то это очень дерьмовый компилятор, и, наверное, стоит съездить к разработчикам этого чуда в гости и из любви к человечеству набить им рожу, чтобы они больше такого не делали.