History

[PATCH] qconf: fix SIGSEGV on empty menu items

qconf may cause SIGSEGV by trying to show debug information on empty menu items

Cyrill V. Gorcunov committed 19 years ago

Commit 73b8ed21 parent f2e12bb2 files · +12 −2Browse files

Showing the changes to scripts (2 of 2 files). Show all

Unified · Split

2 files
  1. scripts/kconfig/qconf.cc +10 −2
  2. scripts/kconfig/qconf.h +2 −0
scripts/kconfig/qconf.cc+10−2
@@ -925,6 +925,8 @@ ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name) · 924 unmodified lines
925925 configSettings->endGroup();
926926 connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
927927 }
928+
929+ has_dbg_info = 0;
928930 }
929931
930932 void ConfigInfoView::saveSettings(void)
@@ -953,10 +955,13 @@ void ConfigInfoView::setInfo(struct menu *m) · 22 unmodified lines
953955 if (menu == m)
954956 return;
955957 menu = m;
956− if (!menu)
958+ if (!menu) {
959+ has_dbg_info = 0;
957960 clear();
958− else
961+ } else {
962+ has_dbg_info = 1;
959963 menuInfo();
964+ }
960965 }
961966
962967 void ConfigInfoView::setSource(const QString& name)
@@ -991,6 +996,9 @@ void ConfigInfoView::symbolInfo(void) · 28 unmodified lines
991996 {
992997 QString str;
993998
999+ if (!has_dbg_info)
1000+ return;
1001+
9941002 str += "<big>Symbol: <b>";
9951003 str += print_filter(sym->name);
9961004 str += "</b></big><br><br>value: ";
scripts/kconfig/qconf.h+2−0
@@ -273,6 +273,8 @@ protected: · 272 unmodified lines
273273 struct symbol *sym;
274274 struct menu *menu;
275275 bool _showDebug;
276+
277+ int has_dbg_info;
276278 };
277279
278280 class ConfigSearchWindow : public QDialog {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t