fix off-by-one error in checks for implementation-internal signal numbers
authorRich Felker <dalias@aerifal.cx>
Thu, 18 Jul 2013 23:21:06 +0000 (19:21 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 18 Jul 2013 23:21:06 +0000 (19:21 -0400)
src/signal/sigaddset.c
src/signal/sigdelset.c
src/signal/sigismember.c

index d632c6fbe4c33f35b83bf724d23639f60e852888..edb48d1c344c4b585bb885743208ea3fbaae8a3d 100644 (file)
@@ -4,7 +4,7 @@
 int sigaddset(sigset_t *set, int sig)
 {
        unsigned s = sig-1;
-       if (s >= 8*sizeof(sigset_t) || s-32U<3) {
+       if (s >= 8*sizeof(sigset_t) || sig-32U<3) {
                errno = EINVAL;
                return -1;
        }
index f8794ad6a155473919995831cb9f0d234889def4..a77c638f919d4dbb9644e8fc0e7b09aea41e66b7 100644 (file)
@@ -4,7 +4,7 @@
 int sigdelset(sigset_t *set, int sig)
 {
        unsigned s = sig-1;
-       if (s >= 8*sizeof(sigset_t) || s-32U<3) {
+       if (s >= 8*sizeof(sigset_t) || sig-32U<3) {
                errno = EINVAL;
                return -1;
        }
index d3de6efb8f5bbfe9460ed45202325be3209fee9b..e887b95fd06f599d57940bd6c4fd7ddbb28a5b1a 100644 (file)
@@ -4,7 +4,7 @@
 int sigismember(const sigset_t *set, int sig)
 {
        unsigned s = sig-1;
-       if (s >= 8*sizeof(sigset_t) || s-32U<3) {
+       if (s >= 8*sizeof(sigset_t) || sig-32U<3) {
                errno = EINVAL;
                return -1;
        }