-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Сборка для FreeBSD и много предупреждений #1
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -52,41 +52,41 @@ extern int LogLevel; | |
#include <debuglog.h> | ||
|
||
/* DEBUG_CRITICAL */ | ||
#define DEBUG_CRITICAL(fmt) if (LogLevel & DEBUG_LEVEL_CRITICAL) Log1(PCSC_LOG_CRITICAL, fmt); else (fmt) | ||
#define DEBUG_CRITICAL(fmt) if (LogLevel & DEBUG_LEVEL_CRITICAL) { Log1(PCSC_LOG_CRITICAL, fmt); } | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Заметка: раньше, если в There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Да, понял, сайд-эффекты отладки. Тут, наверное, лучше оставить, как было |
||
|
||
#define DEBUG_CRITICAL2(fmt, data) if (LogLevel & DEBUG_LEVEL_CRITICAL) Log2(PCSC_LOG_CRITICAL, fmt, data); else (fmt, data) | ||
#define DEBUG_CRITICAL2(fmt, data) if (LogLevel & DEBUG_LEVEL_CRITICAL) { Log2(PCSC_LOG_CRITICAL, fmt, data); } | ||
|
||
#define DEBUG_CRITICAL3(fmt, data1, data2) if (LogLevel & DEBUG_LEVEL_CRITICAL) Log3(PCSC_LOG_CRITICAL, fmt, data1, data2); else (fmt, data1, data2) | ||
#define DEBUG_CRITICAL3(fmt, data1, data2) if (LogLevel & DEBUG_LEVEL_CRITICAL) { Log3(PCSC_LOG_CRITICAL, fmt, data1, data2); } | ||
|
||
#define DEBUG_CRITICAL4(fmt, data1, data2, data3) if (LogLevel & DEBUG_LEVEL_CRITICAL) Log4(PCSC_LOG_CRITICAL, fmt, data1, data2, data3); else (fmt, data1, data2, data3) | ||
#define DEBUG_CRITICAL4(fmt, data1, data2, data3) if (LogLevel & DEBUG_LEVEL_CRITICAL) { Log4(PCSC_LOG_CRITICAL, fmt, data1, data2, data3); } | ||
|
||
/* DEBUG_INFO */ | ||
#define DEBUG_INFO(fmt) if (LogLevel & DEBUG_LEVEL_INFO) Log1(PCSC_LOG_INFO, fmt); else (fmt) | ||
#define DEBUG_INFO(fmt) if (LogLevel & DEBUG_LEVEL_INFO) { Log1(PCSC_LOG_INFO, fmt); } | ||
|
||
#define DEBUG_INFO2(fmt, data) if (LogLevel & DEBUG_LEVEL_INFO) Log2(PCSC_LOG_INFO, fmt, data); else (fmt, data) | ||
#define DEBUG_INFO2(fmt, data) if (LogLevel & DEBUG_LEVEL_INFO) { Log2(PCSC_LOG_INFO, fmt, data); } | ||
|
||
#define DEBUG_INFO3(fmt, data1, data2) if (LogLevel & DEBUG_LEVEL_INFO) Log3(PCSC_LOG_INFO, fmt, data1, data2); else (fmt, data1, data2) | ||
#define DEBUG_INFO3(fmt, data1, data2) if (LogLevel & DEBUG_LEVEL_INFO) { Log3(PCSC_LOG_INFO, fmt, data1, data2); } | ||
|
||
#define DEBUG_INFO4(fmt, data1, data2, data3) if (LogLevel & DEBUG_LEVEL_INFO) Log4(PCSC_LOG_INFO, fmt, data1, data2, data3); else (fmt, data1, data2, data3) | ||
#define DEBUG_INFO4(fmt, data1, data2, data3) if (LogLevel & DEBUG_LEVEL_INFO) { Log4(PCSC_LOG_INFO, fmt, data1, data2, data3); } | ||
|
||
#define DEBUG_INFO_XXD(msg, buffer, size) if (LogLevel & DEBUG_LEVEL_INFO) log_xxd(PCSC_LOG_INFO, msg, buffer, size); else (msg, buffer, size) | ||
#define DEBUG_INFO_XXD(msg, buffer, size) if (LogLevel & DEBUG_LEVEL_INFO) log_xxd(PCSC_LOG_INFO, msg, buffer, size); } | ||
|
||
/* DEBUG_PERIODIC */ | ||
#define DEBUG_PERIODIC(fmt) if (LogLevel & DEBUG_LEVEL_PERIODIC) Log1(PCSC_LOG_DEBUG, fmt); else (fmt) | ||
#define DEBUG_PERIODIC(fmt) if (LogLevel & DEBUG_LEVEL_PERIODIC) { Log1(PCSC_LOG_DEBUG, fmt); } | ||
|
||
#define DEBUG_PERIODIC2(fmt, data) if (LogLevel & DEBUG_LEVEL_PERIODIC) Log2(PCSC_LOG_DEBUG, fmt, data); else (fmt, data) | ||
#define DEBUG_PERIODIC2(fmt, data) if (LogLevel & DEBUG_LEVEL_PERIODIC) { Log2(PCSC_LOG_DEBUG, fmt, data); } | ||
|
||
/* DEBUG_COMM */ | ||
#define DEBUG_COMM(fmt) if (LogLevel & DEBUG_LEVEL_COMM) Log1(PCSC_LOG_DEBUG, fmt); else (fmt) | ||
#define DEBUG_COMM(fmt) if (LogLevel & DEBUG_LEVEL_COMM) { Log1(PCSC_LOG_DEBUG, fmt); } | ||
|
||
#define DEBUG_COMM2(fmt, data) if (LogLevel & DEBUG_LEVEL_COMM) Log2(PCSC_LOG_DEBUG, fmt, data); else (fmt, data) | ||
#define DEBUG_COMM2(fmt, data) if (LogLevel & DEBUG_LEVEL_COMM) { Log2(PCSC_LOG_DEBUG, fmt, data); } | ||
|
||
#define DEBUG_COMM3(fmt, data1, data2) if (LogLevel & DEBUG_LEVEL_COMM) Log3(PCSC_LOG_DEBUG, fmt, data1, data2); else (fmt, data1, data2) | ||
#define DEBUG_COMM3(fmt, data1, data2) if (LogLevel & DEBUG_LEVEL_COMM) { Log3(PCSC_LOG_DEBUG, fmt, data1, data2); } | ||
|
||
#define DEBUG_COMM4(fmt, data1, data2, data3) if (LogLevel & DEBUG_LEVEL_COMM) Log4(PCSC_LOG_DEBUG, fmt, data1, data2, data3); else (fmt, data1, data2, data3) | ||
#define DEBUG_COMM4(fmt, data1, data2, data3) if (LogLevel & DEBUG_LEVEL_COMM) { Log4(PCSC_LOG_DEBUG, fmt, data1, data2, data3); } | ||
|
||
/* DEBUG_XXD */ | ||
#define DEBUG_XXD(msg, buffer, size) if (LogLevel & DEBUG_LEVEL_COMM) log_xxd(PCSC_LOG_DEBUG, msg, buffer, size); else (msg, buffer, size) | ||
#define DEBUG_XXD(msg, buffer, size) if (LogLevel & DEBUG_LEVEL_COMM) { log_xxd(PCSC_LOG_DEBUG, msg, buffer, size); } | ||
|
||
#endif | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Каст
int*
кsize_t*
выглядит как попытка внести уязвимость.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ну, по уму, там нужно всю функцию переписать от слова совсем. С заменой разработчика, извините.
Каст int к size_t выглядит как я даже не знаю что.
CmdTranslateRxBuffer ожидает на входе int rrecv, но данные в этот rrecv заносятся как в size_t. У меня, честно, не хватило сил лезть до самого уровня системных вызовов, но 99% - это все-таки size_t, которому пытаются присвоить -1 как признак "ничего мы не получали", а проверяется ли это где-то в цепочке вызово - я понять не осилил.
Ну, то есть, я ставил целью - чтоб собралось без ошибок и предупреждений и работало. Пытаться что-то сломать путем записи токена с какой-нибудь странной длиной я даже не думал. Хотя мысль интересная.