diff options
Diffstat (limited to 'src/lib/libcrypto/stack/stack.c')
| -rw-r--r-- | src/lib/libcrypto/stack/stack.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/lib/libcrypto/stack/stack.c b/src/lib/libcrypto/stack/stack.c index c7173eb6ab..2496f28a8c 100644 --- a/src/lib/libcrypto/stack/stack.c +++ b/src/lib/libcrypto/stack/stack.c | |||
| @@ -191,7 +191,8 @@ char *sk_delete(STACK *st, int loc) | |||
| 191 | char *ret; | 191 | char *ret; |
| 192 | int i,j; | 192 | int i,j; |
| 193 | 193 | ||
| 194 | if(!st || (loc < 0) || (loc >= st->num)) return NULL; | 194 | if ((st == NULL) || (st->num == 0) || (loc < 0) |
| 195 | || (loc >= st->num)) return(NULL); | ||
| 195 | 196 | ||
| 196 | ret=st->data[loc]; | 197 | ret=st->data[loc]; |
| 197 | if (loc != st->num-1) | 198 | if (loc != st->num-1) |
| @@ -305,13 +306,13 @@ int sk_num(const STACK *st) | |||
| 305 | 306 | ||
| 306 | char *sk_value(const STACK *st, int i) | 307 | char *sk_value(const STACK *st, int i) |
| 307 | { | 308 | { |
| 308 | if(!st || (i < 0) || (i >= st->num)) return NULL; | 309 | if(st == NULL) return NULL; |
| 309 | return st->data[i]; | 310 | return st->data[i]; |
| 310 | } | 311 | } |
| 311 | 312 | ||
| 312 | char *sk_set(STACK *st, int i, char *value) | 313 | char *sk_set(STACK *st, int i, char *value) |
| 313 | { | 314 | { |
| 314 | if(!st || (i < 0) || (i >= st->num)) return NULL; | 315 | if(st == NULL) return NULL; |
| 315 | return (st->data[i] = value); | 316 | return (st->data[i] = value); |
| 316 | } | 317 | } |
| 317 | 318 | ||
| @@ -331,10 +332,3 @@ void sk_sort(STACK *st) | |||
| 331 | st->sorted=1; | 332 | st->sorted=1; |
| 332 | } | 333 | } |
| 333 | } | 334 | } |
| 334 | |||
| 335 | int sk_is_sorted(const STACK *st) | ||
| 336 | { | ||
| 337 | if (!st) | ||
| 338 | return 1; | ||
| 339 | return st->sorted; | ||
| 340 | } | ||
