Added ASAN option to build. Fixed several stack bugs.
This commit is contained in:
parent
1427b28d00
commit
b8e2178775
9 changed files with 24 additions and 18 deletions
|
@ -21,6 +21,7 @@
|
|||
|
||||
TEMPLATE = app
|
||||
CONFIG -= qt
|
||||
#CONFIG += ASAN
|
||||
|
||||
DESTDIR = $$OUT_PWD/bin
|
||||
SHARED = $$PWD/../shared
|
||||
|
@ -171,6 +172,11 @@ OTHER_FILES = \
|
|||
$$DOS_SOURCES \
|
||||
postBuild.sh
|
||||
|
||||
ASAN {
|
||||
QMAKE_CFLAGS += -fsanitize=address -g
|
||||
QMAKE_LFLAGS += -fsanitize=address -static-libasan
|
||||
}
|
||||
|
||||
QMAKE_POST_LINK = $$PWD/postBuild.sh "$$PWD" "$$DESTDIR"
|
||||
|
||||
DISTFILES +=
|
||||
|
|
|
@ -244,6 +244,7 @@ static void packetHandler(PacketDecodeDataT *packet) {
|
|||
_handle = NULL;
|
||||
// Update cache entry to include SHA.
|
||||
cacheEntryAdd(_currentSha256, cacheEntryNameGet(_file), _file);
|
||||
DEL(_currentSha256);
|
||||
// Next file!
|
||||
fileCheckNext();
|
||||
} else {
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include "vesa.h"
|
||||
|
||||
|
||||
static ImageT *imageNativeImageGet(unsigned char *raw, uint16_t x, uint16_t y);
|
||||
static ImageT *imageNativeImageGet(unsigned char *raw, uint32_t x, uint32_t y);
|
||||
|
||||
|
||||
ImageT *imageAllocate(uint16_t w, uint16_t h) {
|
||||
|
@ -118,9 +118,9 @@ uint8_t imageInfoGet(char *filename, uint16_t *width, uint16_t *height) {
|
|||
|
||||
|
||||
ImageT *imageLoad(char *filename) {
|
||||
uint16_t x;
|
||||
uint16_t y;
|
||||
uint16_t n;
|
||||
uint32_t x;
|
||||
uint32_t y;
|
||||
uint32_t n;
|
||||
unsigned char *raw;
|
||||
|
||||
// Load image from disk
|
||||
|
@ -131,7 +131,7 @@ ImageT *imageLoad(char *filename) {
|
|||
}
|
||||
|
||||
|
||||
static ImageT *imageNativeImageGet(unsigned char *raw, uint16_t x, uint16_t y) {
|
||||
static ImageT *imageNativeImageGet(unsigned char *raw, uint32_t x, uint32_t y) {
|
||||
uint32_t b;
|
||||
ImageT *image;
|
||||
|
||||
|
|
|
@ -170,7 +170,7 @@ void loginShow() {
|
|||
|
||||
static void packetHandler(PacketDecodeDataT *packet) {
|
||||
char *packetData;
|
||||
int8_t success;
|
||||
int32_t success;
|
||||
|
||||
switch (packet->packetType) {
|
||||
case PACKET_TYPE_LOGIN_RESULT:
|
||||
|
|
|
@ -130,7 +130,7 @@ static void btnSignUpClick(WidgetT *widget) {
|
|||
|
||||
|
||||
static void packetHandler(PacketDecodeDataT *packet) {
|
||||
uint16_t length;
|
||||
uint32_t length;
|
||||
char *packetData;
|
||||
|
||||
// Reset timeout.
|
||||
|
|
|
@ -22,6 +22,7 @@ CONFIG -= qt
|
|||
CONFIG += \
|
||||
console \
|
||||
c11
|
||||
# ASAN
|
||||
|
||||
DESTDIR = $$OUT_PWD/bin
|
||||
SHARED = $$PWD/../shared
|
||||
|
@ -101,3 +102,8 @@ LIBS = \
|
|||
-ljson-c
|
||||
|
||||
OTHER_FILES =
|
||||
|
||||
ASAN {
|
||||
QMAKE_CFLAGS += -fsanitize=address -g
|
||||
QMAKE_LFLAGS += -fsanitize=address -static-libasan
|
||||
}
|
||||
|
|
|
@ -93,7 +93,7 @@ static void clientApiFileRequestCheck(ClientThreadT *client, PacketDecodeDataT *
|
|||
logWrite("[%s] [%s]\n\r", sha256, path);
|
||||
|
||||
// Look up the entry and compare SHA256.
|
||||
dbFileSha256Get(path, shaInDB, FILE_VIRTUAL_PATH_MAX);
|
||||
dbFileSha256Get(path, shaInDB, 128);
|
||||
if (strcasecmp(sha256, shaInDB) == 0) {
|
||||
logWrite("File is current. Sending FILE_RESPONSE_OKAY.\n\r");
|
||||
// File is already current on client.
|
||||
|
|
|
@ -37,7 +37,7 @@ uint8_t __restAvailable = 1;
|
|||
// "Config" items come from the INI file. "Settings" are from the database.
|
||||
|
||||
static char *_configServer = NULL;
|
||||
static uint16_t _configPort = 0;
|
||||
static uint32_t _configPort = 0;
|
||||
static char *_configDatabase = NULL;
|
||||
static char *_configUser = NULL;
|
||||
static char *_configPassword = NULL;
|
||||
|
|
|
@ -568,16 +568,9 @@ PacketThreadDataT *packetThreadDataCreate(void *senderData) {
|
|||
|
||||
data = (PacketThreadDataT *)malloc(sizeof(PacketThreadDataT));
|
||||
if (data) {
|
||||
/*
|
||||
data->sequence = 0;
|
||||
data->lastRemoteSequence = 0;
|
||||
data->historyPosition = 0;
|
||||
*/
|
||||
data->decodeQueueHead = 0;
|
||||
data->decodeQueueTail = 0;
|
||||
memset(data, 0, sizeof(PacketThreadDataT));
|
||||
data->newPacket = 1;
|
||||
data->senderData = senderData;
|
||||
data->aesContext = NULL;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
|
Loading…
Add table
Reference in a new issue