Исправлена ошибка переполнения буфера

This commit is contained in:
cfif 2024-12-19 11:27:48 +03:00
parent 1a14f2bc11
commit 859b2a5e17
2 changed files with 6 additions and 2 deletions

View File

@ -20,7 +20,7 @@ typedef struct {
struct { struct {
tXfcProtProcessor table[16]; tXfcProtProcessor table[16];
uint8_t rxArr[256]; uint8_t rxArr[256];
uint8_t txArr[2048]; uint8_t txArr[1024 * 3];
tSerialBridge serialBridge[8]; tSerialBridge serialBridge[8];
tVersionPair versions[3]; tVersionPair versions[3];
} memAlloc; } memAlloc;

View File

@ -12,6 +12,8 @@
#include "ComIntCmd/VersionsInfo.h" #include "ComIntCmd/VersionsInfo.h"
#include "ComIntCmd/AccelCalibration.h" #include "ComIntCmd/AccelCalibration.h"
static void ComInt_LoadMetadata(tComInt *env) { static void ComInt_LoadMetadata(tComInt *env) {
env->versions.firmware = StringStaticInit("1.1.0"); env->versions.firmware = StringStaticInit("1.1.0");
@ -53,18 +55,21 @@ static void ComIntInitVersions(tComInt *env, tString16 *deviceId) {
); );
} }
static void ComIntInitSerialBridges( static void ComIntInitSerialBridges(
tComInt *env, tComInt *env,
tSerialPortIO *gsmIo, tSerialPortIO *gsmIo,
tSerialPortIO *gnssIo, tSerialPortIO *gnssIo,
tSerialPortIO *cliIo tSerialPortIO *cliIo
) { ) {
SerialBridges_InitStatic(&env->serialBridges, env->memAlloc.serialBridge); SerialBridges_InitStatic(&env->serialBridges, env->memAlloc.serialBridge);
if (gnssIo)SerialBridges_AddStatic(&env->serialBridges, "GNSS", gnssIo); if (gnssIo)SerialBridges_AddStatic(&env->serialBridges, "GNSS", gnssIo);
if (gsmIo)SerialBridges_AddStatic(&env->serialBridges, "AT_GSM", gsmIo); if (gsmIo)SerialBridges_AddStatic(&env->serialBridges, "AT_GSM", gsmIo);
if (cliIo)SerialBridges_AddStatic(&env->serialBridges, "CLI", cliIo); if (cliIo)SerialBridges_AddStatic(&env->serialBridges, "CLI", cliIo);
} }
void ComInt_Init( void ComInt_Init(
tComInt *env, tComInt *env,
tSerialPortIO *io, tSerialPortIO *io,
@ -100,7 +105,6 @@ void ComInt_Init(
env->thread.id = 0; env->thread.id = 0;
} }
static _Noreturn void ComInt_Thread(tComInt *env) { static _Noreturn void ComInt_Thread(tComInt *env) {
for (;;) { for (;;) {