projects
/
platform
/
upstream
/
curl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "Update to 7.40.1"
[platform/upstream/curl.git]
/
lib
/
security.c
diff --git
a/lib/security.c
b/lib/security.c
index
607048c
..
508c7b4
100644
(file)
--- a/
lib/security.c
+++ b/
lib/security.c
@@
-10,7
+10,7
@@
* Copyright (c) 1998, 1999, 2013 Kungliga Tekniska Högskolan
* (Royal Institute of Technology, Stockholm, Sweden).
*
* Copyright (c) 1998, 1999, 2013 Kungliga Tekniska Högskolan
* (Royal Institute of Technology, Stockholm, Sweden).
*
- * Copyright (C) 2001 - 201
4
, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2001 - 201
3
, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* All rights reserved.
*
*
* All rights reserved.
*
@@
-129,11
+129,11
@@
static int ftp_send_command(struct connectdata *conn, const char *message, ...)
vsnprintf(print_buffer, sizeof(print_buffer), message, args);
va_end(args);
vsnprintf(print_buffer, sizeof(print_buffer), message, args);
va_end(args);
- if(Curl_ftpsendf(conn, print_buffer)) {
+ if(Curl_ftpsendf(conn, print_buffer)
!= CURLE_OK
) {
ftp_code = -1;
}
else {
ftp_code = -1;
}
else {
- if(Curl_GetFTPResponse(&nread, conn, &ftp_code))
+ if(Curl_GetFTPResponse(&nread, conn, &ftp_code)
!= CURLE_OK
)
ftp_code = -1;
}
ftp_code = -1;
}
@@
-147,20
+147,20
@@
static CURLcode
socket_read(curl_socket_t fd, void *to, size_t len)
{
char *to_p = to;
socket_read(curl_socket_t fd, void *to, size_t len)
{
char *to_p = to;
- CURLcode
result
;
+ CURLcode
code
;
ssize_t nread;
while(len > 0) {
ssize_t nread;
while(len > 0) {
-
result
= Curl_read_plain(fd, to_p, len, &nread);
- if(
!result
) {
+
code
= Curl_read_plain(fd, to_p, len, &nread);
+ if(
code == CURLE_OK
) {
len -= nread;
to_p += nread;
}
else {
/* FIXME: We are doing a busy wait */
len -= nread;
to_p += nread;
}
else {
/* FIXME: We are doing a busy wait */
- if(
result
== CURLE_AGAIN)
+ if(
code
== CURLE_AGAIN)
continue;
continue;
- return
result
;
+ return
code
;
}
}
return CURLE_OK;
}
}
return CURLE_OK;
@@
-175,20
+175,20
@@
socket_write(struct connectdata *conn, curl_socket_t fd, const void *to,
size_t len)
{
const char *to_p = to;
size_t len)
{
const char *to_p = to;
- CURLcode
result
;
+ CURLcode
code
;
ssize_t written;
while(len > 0) {
ssize_t written;
while(len > 0) {
-
result
= Curl_write_plain(conn, fd, to_p, len, &written);
- if(
!result
) {
+
code
= Curl_write_plain(conn, fd, to_p, len, &written);
+ if(
code == CURLE_OK
) {
len -= written;
to_p += written;
}
else {
/* FIXME: We are doing a busy wait */
len -= written;
to_p += written;
}
else {
/* FIXME: We are doing a busy wait */
- if(
result
== CURLE_AGAIN)
+ if(
code
== CURLE_AGAIN)
continue;
continue;
- return
result
;
+ return
code
;
}
}
return CURLE_OK;
}
}
return CURLE_OK;
@@
-200,11
+200,11
@@
static CURLcode read_data(struct connectdata *conn,
{
int len;
void* tmp;
{
int len;
void* tmp;
- CURLcode re
sul
t;
+ CURLcode ret;
- re
sul
t = socket_read(fd, &len, sizeof(len));
- if(re
sult
)
- return re
sul
t;
+ ret = socket_read(fd, &len, sizeof(len));
+ if(re
t != CURLE_OK
)
+ return ret;
len = ntohl(len);
tmp = realloc(buf->data, len);
len = ntohl(len);
tmp = realloc(buf->data, len);
@@
-212,9
+212,9
@@
static CURLcode read_data(struct connectdata *conn,
return CURLE_OUT_OF_MEMORY;
buf->data = tmp;
return CURLE_OUT_OF_MEMORY;
buf->data = tmp;
- re
sul
t = socket_read(fd, buf->data, len);
- if(re
sult
)
- return re
sul
t;
+ ret = socket_read(fd, buf->data, len);
+ if(re
t != CURLE_OK
)
+ return ret;
buf->size = conn->mech->decode(conn->app_data, buf->data, len,
conn->data_prot, conn);
buf->index = 0;
buf->size = conn->mech->decode(conn->app_data, buf->data, len,
conn->data_prot, conn);
buf->index = 0;
@@
-256,7
+256,7
@@
static ssize_t sec_recv(struct connectdata *conn, int sockindex,
buffer += bytes_read;
while(len > 0) {
buffer += bytes_read;
while(len > 0) {
- if(read_data(conn, fd, &conn->in_buffer))
+ if(read_data(conn, fd, &conn->in_buffer)
!= CURLE_OK
)
return -1;
if(conn->in_buffer.size == 0) {
if(bytes_read > 0)
return -1;
if(conn->in_buffer.size == 0) {
if(bytes_read > 0)
@@
-295,7
+295,7
@@
static void do_sec_send(struct connectdata *conn, curl_socket_t fd,
prot_level = conn->command_prot;
}
bytes = conn->mech->encode(conn->app_data, from, length, prot_level,
prot_level = conn->command_prot;
}
bytes = conn->mech->encode(conn->app_data, from, length, prot_level,
- (void**)&buffer);
+ (void**)&buffer
, conn
);
if(!buffer || bytes <= 0)
return; /* error */
if(!buffer || bytes <= 0)
return; /* error */
@@
-332,6
+332,7
@@
static void do_sec_send(struct connectdata *conn, curl_socket_t fd,
static ssize_t sec_write(struct connectdata *conn, curl_socket_t fd,
const char *buffer, size_t length)
{
static ssize_t sec_write(struct connectdata *conn, curl_socket_t fd,
const char *buffer, size_t length)
{
+ /* FIXME: Check for overflow */
ssize_t tx = 0, len = conn->buffer_size;
len -= conn->mech->overhead(conn->app_data, conn->data_prot,
ssize_t tx = 0, len = conn->buffer_size;
len -= conn->mech->overhead(conn->app_data, conn->data_prot,
@@
-339,9
+340,10
@@
static ssize_t sec_write(struct connectdata *conn, curl_socket_t fd,
if(len <= 0)
len = length;
while(length) {
if(len <= 0)
len = length;
while(length) {
- if(length < (size_t)len)
+ if(len >= 0 || length < (size_t)len) {
+ /* FIXME: Check for overflow. */
len = length;
len = length;
-
+ }
do_sec_send(conn, fd, buffer, curlx_sztosi(len));
length -= len;
buffer += len;
do_sec_send(conn, fd, buffer, curlx_sztosi(len));
length -= len;
buffer += len;
@@
-400,7
+402,7
@@
int Curl_sec_read_msg(struct connectdata *conn, char *buffer,
ret_code = 0;
else {
/* Check for error? */
ret_code = 0;
else {
/* Check for error? */
-
(void)
sscanf(buf, "%d", &ret_code);
+ sscanf(buf, "%d", &ret_code);
}
if(buf[decoded_len - 1] == '\n')
}
if(buf[decoded_len - 1] == '\n')
@@
-562,7
+564,7
@@
static CURLcode choose_mech(struct connectdata *conn)
break;
}
break;
}
- return
*
mech != NULL ? CURLE_OK : CURLE_FAILED_INIT;
+ return mech != NULL ? CURLE_OK : CURLE_FAILED_INIT;
}
CURLcode
}
CURLcode