summaryrefslogtreecommitdiff
path: root/nuttx/sched/sig_timedwait.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-11-29 18:21:52 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-11-29 18:21:52 +0000
commitddd14eb77b2b22a02a0c206f959894aff7814b30 (patch)
treee2445aabb6a843ff75bdc1f15d617d1ae450c72d /nuttx/sched/sig_timedwait.c
parent2ff21a4ebbe5385a702567220d6287b66cd9328b (diff)
downloadpx4-nuttx-ddd14eb77b2b22a02a0c206f959894aff7814b30.tar.gz
px4-nuttx-ddd14eb77b2b22a02a0c206f959894aff7814b30.tar.bz2
px4-nuttx-ddd14eb77b2b22a02a0c206f959894aff7814b30.zip
Fix handling of NULL pointer in sig_timedwait()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4129 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/sched/sig_timedwait.c')
-rw-r--r--nuttx/sched/sig_timedwait.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/nuttx/sched/sig_timedwait.c b/nuttx/sched/sig_timedwait.c
index dbbf444dc..2d9afaab1 100644
--- a/nuttx/sched/sig_timedwait.c
+++ b/nuttx/sched/sig_timedwait.c
@@ -277,12 +277,18 @@ int sigtimedwait(FAR const sigset_t *set, FAR struct siginfo *info,
if (info)
{
memcpy(info, &rtcb->sigunbinfo, sizeof(struct siginfo));
- }
- irqrestore(saved_state);
- /* The return value is the number of the signal that awakened us */
+ /* The return value is the number of the signal that awakened us */
- ret = info->si_signo;
+ ret = info->si_signo;
+ }
+ else
+ {
+ /* We don't know which signal awakened us. This is probably a bug. */
+
+ ret = 0;
+ }
+ irqrestore(saved_state);
}
sched_unlock();