From c2788c07bfa7d5e4a2febdb11a1f447dcb696c7b Mon Sep 17 00:00:00 2001 From: Bryan Drewery Date: Sat, 26 Oct 2013 19:59:42 +0000 Subject: [PATCH] Fix build with GCC. BIO_new_mem_buf takes a void* buf, but internally it never modifies the buf. It assigns the buffer to another pointer and then marks it as read-only. So deconsting it should be safe here. Also fix warning about 'buf' possibly being unused in parse_cert() Approved by: bapt MFC after: 2 days X-MFC-With: r257147 --- usr.sbin/pkg/pkg.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.sbin/pkg/pkg.c b/usr.sbin/pkg/pkg.c index 30855bc739a..4e9bb947be0 100644 --- a/usr.sbin/pkg/pkg.c +++ b/usr.sbin/pkg/pkg.c @@ -487,7 +487,7 @@ load_public_key_buf(const unsigned char *cert, int certlen) BIO *bp; char errbuf[1024]; - bp = BIO_new_mem_buf((void *)cert, certlen); + bp = BIO_new_mem_buf(__DECONST(void *, cert), certlen); if ((pkey = PEM_read_bio_PUBKEY(bp, NULL, NULL, NULL)) == NULL) warnx("%s", ERR_error_string(ERR_get_error(), errbuf)); @@ -573,6 +573,7 @@ parse_cert(int fd) { size_t linecap; ssize_t linelen; + buf = NULL; my_fd = -1; sc = NULL; line = NULL;