From 32ceb411faec6ca61ee04707fe014efa15e9a5df Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sat, 4 Dec 2021 13:07:04 +0100 Subject: [PATCH] debuginfod: sqlite3_sharedprefix_fn should not compare past end of string gcc address sanitizer detected a read after the end of string in sqlite3_sharedprefix_fn. Make sure to stop comparing the strings when seeing the zero terminator. Signed-off-by: Mark Wielaard --- debuginfod/debuginfod.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx index 0bbaae9fd..0d3f02978 100644 --- a/debuginfod/debuginfod.cxx +++ b/debuginfod/debuginfod.cxx @@ -3707,7 +3707,7 @@ static void sqlite3_sharedprefix_fn (sqlite3_context* c, int argc, sqlite3_value const unsigned char* a = sqlite3_value_text (argv[0]); const unsigned char* b = sqlite3_value_text (argv[1]); int i = 0; - while (*a++ == *b++) + while (*a != '\0' && *b != '\0' && *a++ == *b++) i++; sqlite3_result_int (c, i); } -- 2.47.2