* Since some memmove()'s erroneously fail to handle
* overlapping regions, we'll do the shift by hand.
*/
- const int n = tp - colonp;
- int i;
+ const long n = tp - colonp;
+ long i;
for (i = 1; i <= n; i++) {
endp[- i] = colonp[n - i];
static int asn1_object_dump(ASN1_OBJECT *a, char *buf, size_t len)
{
- int i = i2t_ASN1_OBJECT(buf, len, a);
- if (i >= (int)len)
- return 1; /* too small buffer! */
+ int i, ilen;
+
+ if((ilen = (int)len) < 0)
+ return 1; /* buffer too big */
+
+ i = i2t_ASN1_OBJECT(buf, ilen, a);
+
+ if(i >= ilen)
+ return 1; /* buffer too small */
+
return 0;
}
if(connssl->connecting_state == ssl_connect_2_reading
|| connssl->connecting_state == ssl_connect_2_writing) {
- int writefd = ssl_connect_2_writing==
+ curl_socket_t writefd = ssl_connect_2_writing==
connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
- int readfd = ssl_connect_2_reading==
+ curl_socket_t readfd = ssl_connect_2_reading==
connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
while(1) {
char *percent = strstr (conn->host.name, "%25");
if (percent) {
char *endp;
- unsigned int scope = strtoul (percent + 3, &endp, 10);
+ unsigned long scope = strtoul (percent + 3, &endp, 10);
if (*endp == ']') {
/* The address scope was well formed. Knock it out of the hostname. */
memmove(percent, endp, strlen(endp)+1);
if (!data->state.this_is_a_follow)
/* Don't honour a scope given in a Location: header */
- conn->scope = scope;
+ conn->scope = (unsigned int)scope;
} else
infof(data, "Invalid IPv6 address format\n");
}