From 01296a6de0f968d741d871efda8ab4ed5420442d Mon Sep 17 00:00:00 2001 From: Geoff Thorpe Date: Wed, 31 May 2000 15:28:01 +0000 Subject: All the little functions created by the IMPLEMENT_STACK_OF() macro will cast their type-specific STACK into a real STACK and call the underlying sk_*** function. The problem is that if the STACK_OF(..) parameter being passed in has a "const *" qualifier, it is discarded by the cast. I'm currently implementing a fix for this but in the mean-time, this is one case I noticed (a few type-specific sk_**_num() functions pass in const type-specific stacks). If there are other errors in the code where consts are being discarded, we will similarly not notice them. yuck. --- crypto/stack/stack.c | 2 +- crypto/stack/stack.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/crypto/stack/stack.c b/crypto/stack/stack.c index 3e2f4d8..8ab4302 100644 --- a/crypto/stack/stack.c +++ b/crypto/stack/stack.c @@ -279,7 +279,7 @@ void sk_free(STACK *st) Free(st); } -int sk_num(STACK *st) +int sk_num(const STACK *st) { if(st == NULL) return -1; return st->num; diff --git a/crypto/stack/stack.h b/crypto/stack/stack.h index a6665f3..0cc3b44 100644 --- a/crypto/stack/stack.h +++ b/crypto/stack/stack.h @@ -79,7 +79,7 @@ typedef struct stack_st #define M_sk_num(sk) ((sk) ? (sk)->num:-1) #define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL) -int sk_num(STACK *); +int sk_num(const STACK *); char *sk_value(STACK *, int); char *sk_set(STACK *, int, char *); -- cgit v1.1