From: Yang Tse Date: Wed, 24 Sep 2008 13:55:23 +0000 (+0000) Subject: Official OpenSSL released versions up to and including 0.9.8i as well as X-Git-Tag: curl-7_19_1~286 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=21b523fcd3aa3ab22733d3baff93e591673a8e9c;p=thirdparty%2Fcurl.git Official OpenSSL released versions up to and including 0.9.8i as well as 2008-09-24 stable snapshot have a buf_mem_st.length structure member with 'int' data type. OpenSSL un-released 0.9.9 CVS version has a buf_mem_st.length structure member with 'size_t' data type since 2007-Oct-09. These 4 typecasts should silence compiler warnings in all cases. --- diff --git a/lib/ssluse.c b/lib/ssluse.c index 10e39cfa10..840fbc2c94 100644 --- a/lib/ssluse.c +++ b/lib/ssluse.c @@ -567,7 +567,7 @@ static int x509_name_oneline(X509_NAME *a, char *buf, size_t size) rc = X509_NAME_print_ex(bio_out, a, 0, XN_FLAG_SEP_CPLUS_SPC); BIO_get_mem_ptr(bio_out, &biomem); - if(biomem->length < size) + if((size_t)biomem->length < size) size = biomem->length; else size--; /* don't overwrite the buffer end */ @@ -1775,15 +1775,15 @@ static int X509V3_ext(struct SessionHandle *data, /* biomem->length bytes at biomem->data, this little loop here is only done for the infof() call, we send the "raw" data to the certinfo function */ - for(j=0; jlength; j++) { + for(j=0; j<(size_t)biomem->length; j++) { const char *sep=""; if(biomem->data[j] == '\n') { sep=", "; j++; /* skip the newline */ }; - while((biomem->data[j] == ' ') && (jlength)) + while((biomem->data[j] == ' ') && (j<(size_t)biomem->length)) j++; - if(jlength) + if(j<(size_t)biomem->length) ptr+=snprintf(ptr, sizeof(buf)-(ptr-buf), "%s%c", sep, biomem->data[j]); } infof(data, " %s\n", buf);