Extend the index parameter checking from sk_value to sk_set(). Also tidy up
authorGeoff Thorpe <geoff@openssl.org>
Wed, 21 Apr 2004 15:09:52 +0000 (15:09 +0000)
committerGeoff Thorpe <geoff@openssl.org>
Wed, 21 Apr 2004 15:09:52 +0000 (15:09 +0000)
some similar code elsewhere.

Thanks to Francesco Petruzzi for bringing this to my attention.

crypto/stack/stack.c

index 7877b15a4f0b23fef32b870486804f3eaef240fa..108ecb6eaf2c1cdef893c923a408bcc24eae6b4c 100644 (file)
@@ -189,8 +189,7 @@ char *sk_delete(STACK *st, int loc)
        char *ret;
        int i,j;
 
-       if ((st == NULL) || (st->num == 0) || (loc < 0)
-                                        || (loc >= st->num)) return(NULL);
+       if(!st || (loc < 0) || (loc >= st->num)) return NULL;
 
        ret=st->data[loc];
        if (loc != st->num-1)
@@ -310,7 +309,7 @@ char *sk_value(const STACK *st, int i)
 
 char *sk_set(STACK *st, int i, char *value)
 {
-       if(st == NULL) return NULL;
+       if(!st || (i < 0) || (i >= st->num)) return NULL;
        return (st->data[i] = value);
 }