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
925 configSettings->endGroup();925 configSettings->endGroup();
926 connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));926 connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
927 }927 }
928
929 has_dbg_info = 0;
928}930}
929 931
930void ConfigInfoView::saveSettings(void)932void ConfigInfoView::saveSettings(void)
@@ -953,10 +955,13 @@ void ConfigInfoView::setInfo(struct menu *m) · 22 unmodified lines
953 if (menu == m)955 if (menu == m)
954 return;956 return;
955 menu = m;957 menu = m;
956 if (!menu)958 if (!menu) {
959 has_dbg_info = 0;
957 clear();960 clear();
958 else961 } else {
962 has_dbg_info = 1;
959 menuInfo();963 menuInfo();
964 }
960}965}
961 966
962void ConfigInfoView::setSource(const QString& name)967void ConfigInfoView::setSource(const QString& name)
@@ -991,6 +996,9 @@ void ConfigInfoView::symbolInfo(void) · 28 unmodified lines
991{996{
992 QString str;997 QString str;
993 998
999 if (!has_dbg_info)
1000 return;
1001
994 str += "<big>Symbol: <b>";1002 str += "<big>Symbol: <b>";
995 str += print_filter(sym->name);1003 str += print_filter(sym->name);
996 str += "</b></big><br><br>value: ";1004 str += "</b></big><br><br>value: ";
scripts/kconfig/qconf.h+2−0
@@ -273,6 +273,8 @@ protected: · 272 unmodified lines
273 struct symbol *sym;273 struct symbol *sym;
274 struct menu *menu;274 struct menu *menu;
275 bool _showDebug;275 bool _showDebug;
276
277 int has_dbg_info;
276};278};
277 279
278class ConfigSearchWindow : public QDialog {280class 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