author | spiralman <spiralman> | 2002-05-16 21:14:13 (UTC) |
---|---|---|
committer | spiralman <spiralman> | 2002-05-16 21:14:13 (UTC) |
commit | d8d70e07a09a7c50021f6c85690b79b422d43df5 (patch) (side-by-side diff) | |
tree | 56e4655aca1eac9b46f44e78e2cc378e7f7033de /noncore/tools/remote/buttondialog.cpp | |
parent | daeba256e5a7442dde237f39a6272485e01b7ccd (diff) | |
download | opie-d8d70e07a09a7c50021f6c85690b79b422d43df5.zip opie-d8d70e07a09a7c50021f6c85690b79b422d43df5.tar.gz opie-d8d70e07a09a7c50021f6c85690b79b422d43df5.tar.bz2 |
fixed segfault when socket() returns -1 (hopefully)
Diffstat (limited to 'noncore/tools/remote/buttondialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/tools/remote/buttondialog.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/noncore/tools/remote/buttondialog.cpp b/noncore/tools/remote/buttondialog.cpp index e7ff4b4..7479e85 100644 --- a/noncore/tools/remote/buttondialog.cpp +++ b/noncore/tools/remote/buttondialog.cpp @@ -98,6 +98,18 @@ QStringList ButtonDialog::getRemotes() strcpy(addr.sun_path,"/dev/lircd"); fd = socket(AF_UNIX, SOCK_STREAM, 0); + if(fd == -1) + { + QMessageBox *mb = new QMessageBox("Error!", + "couldnt connect to socket", + QMessageBox::NoIcon, + QMessageBox::Ok, + QMessageBox::NoButton, + QMessageBox::NoButton); + mb->exec(); + perror("ButtonDialog::GetRemotes"); + return NULL; + } if(std::connect(fd,(struct sockaddr *) &addr, sizeof(addr) ) == -1) { @@ -158,6 +170,19 @@ QStringList ButtonDialog::getButtons(const char *remoteName) write_buffer += '\n'; fd = socket(AF_UNIX, SOCK_STREAM, 0); + if(fd == -1) + { + QMessageBox *mb = new QMessageBox("Error!", + "couldnt connect to socket", + QMessageBox::NoIcon, + QMessageBox::Ok, + QMessageBox::NoButton, + QMessageBox::NoButton); + mb->exec(); + perror("ButtonDialog::GetButtons"); + return NULL; + } + if(std::connect(fd,(struct sockaddr *) &addr, sizeof(addr) ) == -1) { |