security: fix "Unchecked return value" from sscanf()

By (void) prefixing it and adding a comment. Did some minor related
cleanups.

Coverity CID 1299423.
This commit is contained in:
Daniel Stenberg 2015-05-22 16:52:03 +02:00
parent 1514977bcd
commit e582cd16ff

View File

@ -359,7 +359,7 @@ int Curl_sec_read_msg(struct connectdata *conn, char *buffer,
int */
int decoded_len;
char *buf;
int ret_code;
int ret_code = 0;
size_t decoded_sz = 0;
CURLcode error;
@ -388,13 +388,13 @@ int Curl_sec_read_msg(struct connectdata *conn, char *buffer,
}
buf[decoded_len] = '\0';
DEBUGASSERT(decoded_len > 3);
if(buf[3] == '-')
ret_code = 0;
else {
/* Check for error? */
if(decoded_len <= 3)
/* suspiciously short */
return 0;
if(buf[3] != '-')
/* safe to ignore return code */
(void)sscanf(buf, "%d", &ret_code);
}
if(buf[decoded_len - 1] == '\n')
buf[decoded_len - 1] = '\0';
@ -437,8 +437,8 @@ static int sec_set_protection_level(struct connectdata *conn)
pbsz = strstr(conn->data->state.buffer, "PBSZ=");
if(pbsz) {
/* FIXME: Checks for errors in sscanf? */
sscanf(pbsz, "PBSZ=%u", &buffer_size);
/* ignore return code, use default value if it fails */
(void)sscanf(pbsz, "PBSZ=%u", &buffer_size);
if(buffer_size < conn->buffer_size)
conn->buffer_size = buffer_size;
}