]> 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:08:25 +0000 (15:08 +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 f7eb093614f27c1a8c0f4678fc7716a6c6db512c..b889fe604e422ecc38ccf217c7965a49b1a17b1d 100644 (file)
@@ -1167,7 +1167,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;