Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C] [snprinf] [safe c library]

Ostatnio zmodyfikowano 2018-12-21 10:24
Autor Wiadomość
aaadam
Temat założony przez niniejszego użytkownika
[C] [snprinf] [safe c library]
» 2018-12-18 16:39:32
witam,

zamierzam usprawnić swój kod o safe C funkcje niestety snprintf_s nie jest dostępny aktualnie w mojej wersji biblioteki.
Na stronie https://github.com/intel​/safestringlib/wiki​/SDL-List-of-Banned-Functions jest napisane : snprintf()​ -Consider using a wrapper function that avoids the vargs construct and uses compile-time checks on the parameters passed into snprintf(). See example functions in the Safe String library. Nie pytajcie czemu chce to robić po prostu muszę, takie wymagania, Nie bardzo ogarniam jak to rozwiązać, może ktoś pomóc? pozdrawiam
P-173283
pekfos
» 2018-12-18 16:52:18
Nie pytajcie czemu chce to robić po prostu muszę, takie wymagania
Czyli jakie wymagania dokładnie? Jeśli masz używać wyłącznie funkcji z tej biblioteki, to albo użyj nowszej wersji, albo nie używaj snprintf_s() w swoim kodzie.
P-173284
aaadam
Temat założony przez niniejszego użytkownika
» 2018-12-18 17:06:03
czyszczę kod z potencjalnych podatności aplikacji używam do tego toola klocwork, który zwraca mi warning
SV.BANNED.RECOMMENDED.SPRINTF: Function 'snprintf' is deprecated. Replace with more secure equivalent like '_snprintf_s', add missing logic, or re-architect
 niestety funkcja _snprintf_s nie jest wspierana w obecnej wersji biblioteki, może kiedyś będzie.
P-173285
pekfos
» 2018-12-18 18:52:02
Ten warning sugeruje 3 różne rozwiązania.
P-173286
aaadam
Temat założony przez niniejszego użytkownika
» 2018-12-18 19:36:48
Wiem, pierwsze odpada bo nie mam wsparcia do bezpiecznej wersji, a pozostałe żeby dodać logikę lub zmienić kod, tylko ta funkcja jest wywoływana wielokrotnie i zastanawiam się nad jakimś uniwersalnym wraperem, i nie mam pomysłu na to.
P-173287
pekfos
» 2018-12-18 20:48:15
Uniwersalność snprintf to jest problem, który masz do rozwiązania. Nie zrobisz w C dowolnej liczby argumentów ze statyczną kontrolą typów. Zobacz, jak to zrobili w tej bibliotece.
https://github.com/intel​/safestringlib/blob/master​/include/snprintf_s.h
P-173288
Elaine
» 2018-12-20 18:19:06
Nie zrobisz w C dowolnej liczby argumentów ze statyczną kontrolą typów.
Ależ oczywiście, że zrobisz, jeśli tylko zabusujesz preprocesor i _Generic :P
P-173291
aaadam
Temat założony przez niniejszego użytkownika
» 2018-12-21 10:24:47
to wykracza poza moje umiejetności C :P, postanowiłem przerobić kod, zamieniam snprintf-y na inne funkcje, trochę pracy przy tym będzie, może kiedys dodadzą wersję bezpieczną do projektu.
P-173294
« 1 »
  Strona 1 z 1