summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/stack/stack.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/stack/stack.c')
-rw-r--r--src/lib/libcrypto/stack/stack.c14
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
306char *sk_value(const STACK *st, int i) 307char *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
312char *sk_set(STACK *st, int i, char *value) 313char *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
335int sk_is_sorted(const STACK *st)
336 {
337 if (!st)
338 return 1;
339 return st->sorted;
340 }