Browse Source

fix off-by-one error in checks for implementation-internal signal numbers

Rich Felker 11 years ago
parent
commit
23815f88df
3 changed files with 3 additions and 3 deletions
  1. 1 1
      src/signal/sigaddset.c
  2. 1 1
      src/signal/sigdelset.c
  3. 1 1
      src/signal/sigismember.c

+ 1 - 1
src/signal/sigaddset.c

@@ -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;
 	}

+ 1 - 1
src/signal/sigdelset.c

@@ -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;
 	}

+ 1 - 1
src/signal/sigismember.c

@@ -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;
 	}