lpa: patch toby driver

This commit is contained in:
Alexandre Bard 2022-06-14 12:53:51 +02:00
parent c1ea8a92b5
commit 932a090d2e
3 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,30 @@
From 31805f2263c2b3d5fc9198bcb90327715ee05b99 Mon Sep 17 00:00:00 2001
From: Alexandre Bard <alexandre.bard@netmodule.com>
Date: Tue, 14 Jun 2022 11:37:12 +0200
Subject: [PATCH] Fix segfault accessing a null pointer
Signed-off-by: Alexandre Bard <alexandre.bard@netmodule.com>
---
sdk/LPA_SDK/src/driver/semedia_toby.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/sdk/LPA_SDK/src/driver/semedia_toby.c b/sdk/LPA_SDK/src/driver/semedia_toby.c
index 6bf98ff..c7ef2f9 100644
--- a/sdk/LPA_SDK/src/driver/semedia_toby.c
+++ b/sdk/LPA_SDK/src/driver/semedia_toby.c
@@ -1009,9 +1009,12 @@ abort:
bool _seMediaTobyGetReaderInfo(const char *ptrReaderName, LPA_READER_MANUFACTURER *pManufacturer,
LPA_READER_TYPE *pType, bool *pForceChannelOne)
{
- *pManufacturer = LPA_READER_MANUFACTURER_UBLOX;
- *pType = LPA_READER_TYPE_UBLOX_TOBY_L2;
- *pForceChannelOne = false;
+ if (pManufacturer)
+ *pManufacturer = LPA_READER_MANUFACTURER_UBLOX;
+ if (pType)
+ *pType = LPA_READER_TYPE_UBLOX_TOBY_L2;
+ if (pForceChannelOne)
+ *pForceChannelOne = false;
return true;
}

View File

@ -0,0 +1,27 @@
From 250608dddbae09268fdfe726e823e186a94b89f0 Mon Sep 17 00:00:00 2001
From: Alexandre Bard <alexandre.bard@netmodule.com>
Date: Tue, 14 Jun 2022 15:44:26 +0200
Subject: [PATCH] semedia_toby: Fix serial reading
Several str* commands were used but the end of string marker was never
set, leading to overflows and other errors. Especially since the buffer
was never cleaned.
Signed-off-by: Alexandre Bard <alexandre.bard@netmodule.com>
---
sdk/LPA_SDK/src/driver/semedia_toby.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sdk/LPA_SDK/src/driver/semedia_toby.c b/sdk/LPA_SDK/src/driver/semedia_toby.c
index c7ef2f9..167438b 100644
--- a/sdk/LPA_SDK/src/driver/semedia_toby.c
+++ b/sdk/LPA_SDK/src/driver/semedia_toby.c
@@ -961,6 +961,8 @@ bool _seMediaTobyRunAtCommand(const char *ptrReaderName,
lpaCoreLogAppend(SDK_LOG_LEVEL_ERROR, "_seMediaTobyRunAtCommand(): response too long!");
goto abort;
}
+ /* End of string marker */
+ *pResp = '\0';
}
}

View File

@ -2,6 +2,8 @@ LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
SRC_URI = "git://gitea@git.netmodule.intranet/NRSW/lpa.git;branch=sdk_1.6;protocol=ssh \
file://0001-Fix-segfault-accessing-a-null-pointer.patch \
file://0002-semedia_toby-Fix-serial-reading.patch \
"
PV = "1.0+git${SRCPV}"