linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Bluez PATCH v3] textfile: Fix possible bad memory access in find_key
@ 2024-11-01  7:19 Howard Chung
  2024-11-01  9:03 ` [Bluez,v3] " bluez.test.bot
  2024-11-01 17:30 ` [Bluez PATCH v3] " patchwork-bot+bluetooth
  0 siblings, 2 replies; 3+ messages in thread
From: Howard Chung @ 2024-11-01  7:19 UTC (permalink / raw)
  To: linux-bluetooth, luiz.dentz; +Cc: Yun-Hao Chung

From: Yun-Hao Chung <howardchung@google.com>

If the searched key is a prefix of the first key in the textfile,
the code will assume it's not the first line which is wrong.

The issue can be reproduced by a fuzzer. More context can be found in
https://issues.oss-fuzz.com/issues/42515619

To reproduce the issue, please kindly follow the instructions in
https://google.github.io/oss-fuzz/advanced-topics/reproducing/

Stack trace:
    #0 0x55e1c450e7ce in find_key /src/bluez/src/textfile.c:133:9
    #1 0x55e1c450e7ce in write_key /src/bluez/src/textfile.c:244:8
    #2 0x55e1c450dc33 in LLVMFuzzerTestOneInput /src/fuzz_textfile.c:61:3
    (...trace in fuzzer)
---
This is reproduced by https://issues.oss-fuzz.com/issues/42515619

Changes in v3:
- Add fuzzer url to the commit message

Changes in v2:
- Add stack trace in commit message

 src/textfile.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/textfile.c b/src/textfile.c
index 313098f38..8188d2ebe 100644
--- a/src/textfile.c
+++ b/src/textfile.c
@@ -127,10 +127,10 @@ static inline char *find_key(char *map, size_t size, const char *key, size_t len
 	while (ptrlen > len + 1) {
 		int cmp = (icase) ? strncasecmp(ptr, key, len) : strncmp(ptr, key, len);
 		if (cmp == 0) {
-			if (ptr == map && *(ptr + len) == ' ')
-				return ptr;
-
-			if ((*(ptr - 1) == '\r' || *(ptr - 1) == '\n') &&
+			if (ptr == map) {
+				if (*(ptr + len) == ' ')
+					return ptr;
+			} else if ((*(ptr - 1) == '\r' || *(ptr - 1) == '\n') &&
 							*(ptr + len) == ' ')
 				return ptr;
 		}
-- 
2.47.0.163.g1226f6d8fa-goog


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [Bluez,v3] textfile: Fix possible bad memory access in find_key
  2024-11-01  7:19 [Bluez PATCH v3] textfile: Fix possible bad memory access in find_key Howard Chung
@ 2024-11-01  9:03 ` bluez.test.bot
  2024-11-01 17:30 ` [Bluez PATCH v3] " patchwork-bot+bluetooth
  1 sibling, 0 replies; 3+ messages in thread
From: bluez.test.bot @ 2024-11-01  9:03 UTC (permalink / raw)
  To: linux-bluetooth, howardchung

[-- Attachment #1: Type: text/plain, Size: 949 bytes --]

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=905285

---Test result---

Test Summary:
CheckPatch                    PASS      0.38 seconds
GitLint                       PASS      0.28 seconds
BuildEll                      PASS      24.94 seconds
BluezMake                     PASS      1647.13 seconds
MakeCheck                     PASS      13.70 seconds
MakeDistcheck                 PASS      180.49 seconds
CheckValgrind                 PASS      255.74 seconds
CheckSmatch                   PASS      359.28 seconds
bluezmakeextell               PASS      121.22 seconds
IncrementalBuild              PASS      1464.70 seconds
ScanBuild                     PASS      1018.25 seconds



---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Bluez PATCH v3] textfile: Fix possible bad memory access in find_key
  2024-11-01  7:19 [Bluez PATCH v3] textfile: Fix possible bad memory access in find_key Howard Chung
  2024-11-01  9:03 ` [Bluez,v3] " bluez.test.bot
@ 2024-11-01 17:30 ` patchwork-bot+bluetooth
  1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+bluetooth @ 2024-11-01 17:30 UTC (permalink / raw)
  To: Howard Chung; +Cc: linux-bluetooth, luiz.dentz

Hello:

This patch was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Fri,  1 Nov 2024 15:19:39 +0800 you wrote:
> From: Yun-Hao Chung <howardchung@google.com>
> 
> If the searched key is a prefix of the first key in the textfile,
> the code will assume it's not the first line which is wrong.
> 
> The issue can be reproduced by a fuzzer. More context can be found in
> https://issues.oss-fuzz.com/issues/42515619
> 
> [...]

Here is the summary with links:
  - [Bluez,v3] textfile: Fix possible bad memory access in find_key
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=5573661fc2a3

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-11-01 17:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-01  7:19 [Bluez PATCH v3] textfile: Fix possible bad memory access in find_key Howard Chung
2024-11-01  9:03 ` [Bluez,v3] " bluez.test.bot
2024-11-01 17:30 ` [Bluez PATCH v3] " patchwork-bot+bluetooth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).