]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
kconfig: qconf: fix buffer overflow in debug links
authorMasahiro Yamada <masahiroy@kernel.org>
Tue, 1 Oct 2024 09:02:22 +0000 (18:02 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2024 13:11:43 +0000 (15:11 +0200)
[ Upstream commit 984ed20ece1c6c20789ece040cbff3eb1a388fa9 ]

If you enable "Option -> Show Debug Info" and click a link, the program
terminates with the following error:

    *** buffer overflow detected ***: terminated

The buffer overflow is caused by the following line:

    strcat(data, "$");

The buffer needs one more byte to accommodate the additional character.

Fixes: c4f7398bee9c ("kconfig: qconf: make debug links work again")
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
scripts/kconfig/qconf.cc

index 78087b2d9ac6728dd573f87a8e55181c8529c159..61b679f6c2f2a133296cc488029099cebe030f7a 100644 (file)
@@ -1172,7 +1172,7 @@ void ConfigInfoView::clicked(const QUrl &url)
 {
        QByteArray str = url.toEncoded();
        const std::size_t count = str.size();
-       char *data = new char[count + 1];
+       char *data = new char[count + 2];  // '$' + '\0'
        struct symbol **result;
        struct menu *m = NULL;