summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeoff Thorpe <geoff@openssl.org>2004-04-21 15:09:52 +0000
committerGeoff Thorpe <geoff@openssl.org>2004-04-21 15:09:52 +0000
commit1c27ce4e7040e52ad9c8df6446cc345e16d5076e (patch)
treec889421f84776e1c0c4da4c71eaa9b59fd8f1167
parent22083b182a9b1ad848c20945b8678eff55259be9 (diff)
Extend the index parameter checking from sk_value to sk_set(). Also tidy up
some similar code elsewhere. Thanks to Francesco Petruzzi for bringing this to my attention.
-rw-r--r--crypto/stack/stack.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/crypto/stack/stack.c b/crypto/stack/stack.c
index 7877b15a4f..108ecb6eaf 100644
--- a/crypto/stack/stack.c
+++ b/crypto/stack/stack.c
@@ -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);
}