summaryrefslogtreecommitdiffstats
path: root/src/corelib/io
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-09-25 08:56:15 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-25 09:21:54 +0200
commitf83fa3c95e9ac6badc393c198c8bc08bc45bea96 (patch)
treeb561f7582a135385262712102fdd6b71ea82394b /src/corelib/io
parent445efa40a290da0f72a4b7c213ea991193d51917 (diff)
Fix a crash in QProcess signal handling on Mac.
On Mac, SA_SIGINFO can be set while the handler is SIG_DFL. Change-Id: Ibaeaa1612e27217826841d7400309c45b5a101ea Initial-patch-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/io')
-rw-r--r--src/corelib/io/qprocess_unix.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp
index eab3890beb..3c6d294916 100644
--- a/src/corelib/io/qprocess_unix.cpp
+++ b/src/corelib/io/qprocess_unix.cpp
@@ -141,7 +141,8 @@ static void qt_sa_sigchld_sigaction(int signum, siginfo_t *info, void *context)
if (qt_sa_old_sigchld_handler.sa_flags & SA_SIGINFO) {
void (*oldAction)(int, siginfo_t *, void *) = vsa->sa_sigaction;
- oldAction(signum, info, context);
+ if (oldAction)
+ oldAction(signum, info, context);
} else {
void (*oldAction)(int) = vsa->sa_handler;