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