From 932a090d2e29ac1bae35d90114c1076ee54c9f71 Mon Sep 17 00:00:00 2001 From: Alexandre Bard Date: Tue, 14 Jun 2022 12:53:51 +0200 Subject: [PATCH] lpa: patch toby driver --- ...ix-segfault-accessing-a-null-pointer.patch | 30 +++++++++++++++++++ ...0002-semedia_toby-Fix-serial-reading.patch | 27 +++++++++++++++++ recipes-connectivity/lpa/lpa_git.bb | 2 ++ 3 files changed, 59 insertions(+) create mode 100644 recipes-connectivity/lpa/lpa/0001-Fix-segfault-accessing-a-null-pointer.patch create mode 100644 recipes-connectivity/lpa/lpa/0002-semedia_toby-Fix-serial-reading.patch diff --git a/recipes-connectivity/lpa/lpa/0001-Fix-segfault-accessing-a-null-pointer.patch b/recipes-connectivity/lpa/lpa/0001-Fix-segfault-accessing-a-null-pointer.patch new file mode 100644 index 0000000..740b685 --- /dev/null +++ b/recipes-connectivity/lpa/lpa/0001-Fix-segfault-accessing-a-null-pointer.patch @@ -0,0 +1,30 @@ +From 31805f2263c2b3d5fc9198bcb90327715ee05b99 Mon Sep 17 00:00:00 2001 +From: Alexandre Bard +Date: Tue, 14 Jun 2022 11:37:12 +0200 +Subject: [PATCH] Fix segfault accessing a null pointer + +Signed-off-by: Alexandre Bard +--- + 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; + } + diff --git a/recipes-connectivity/lpa/lpa/0002-semedia_toby-Fix-serial-reading.patch b/recipes-connectivity/lpa/lpa/0002-semedia_toby-Fix-serial-reading.patch new file mode 100644 index 0000000..e450a04 --- /dev/null +++ b/recipes-connectivity/lpa/lpa/0002-semedia_toby-Fix-serial-reading.patch @@ -0,0 +1,27 @@ +From 250608dddbae09268fdfe726e823e186a94b89f0 Mon Sep 17 00:00:00 2001 +From: Alexandre Bard +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 +--- + 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'; + } + } + diff --git a/recipes-connectivity/lpa/lpa_git.bb b/recipes-connectivity/lpa/lpa_git.bb index 7025852..ef923ce 100644 --- a/recipes-connectivity/lpa/lpa_git.bb +++ b/recipes-connectivity/lpa/lpa_git.bb @@ -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}"