scripts/kconfig/qconf.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
If you enable the "Option -> Show Debug Info" and click a click, 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>
---
scripts/kconfig/qconf.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
index 7dba8014ead4..e260cab1c2af 100644
--- a/scripts/kconfig/qconf.cc
+++ b/scripts/kconfig/qconf.cc
@@ -1166,7 +1166,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;
--
2.43.0
On Tue, Oct 1, 2024 at 6:02 PM Masahiro Yamada <masahiroy@kernel.org> wrote: > > If you enable the "Option -> Show Debug Info" and click a click, the I meant "click a link" > 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> > --- > > scripts/kconfig/qconf.cc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc > index 7dba8014ead4..e260cab1c2af 100644 > --- a/scripts/kconfig/qconf.cc > +++ b/scripts/kconfig/qconf.cc > @@ -1166,7 +1166,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; > > -- > 2.43.0 > -- Best Regards Masahiro Yamada
© 2016 - 2024 Red Hat, Inc.