summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorsenduo <[email protected]>2019-07-26 18:33:33 +0800
committerGitHub <[email protected]>2019-07-26 18:33:33 +0800
commit350947b190aeda54ca002e88c87373f2d43e6244 (patch)
tree0fa08ffeecee0f52f977e16aabff5eed934ce322 /components
parent767ea2ab744334a52c28403ebfcc68caf2389a2b (diff)
修改at_socket.c文件中的sendto函数,len局部变量没有给初始值
len值如果不给初始值0,到最后__exit的时候,result = len会导致result的值变成一个不可预估的值,进而导致mbedtls库的while循环无法正常结束,其中mebedtls中发生异常的地方在ssl_tls.c文件中的mbedtls_ssl_flush_output函数while( ssl->out_left > 0 ),因为out_left 是一个无符号整型,退出的条件只能是 out_left = 0,又因为这里面的len没有给初始值0,返回出来的值是一个很大的整型数字,导致了mbedtls中的死循环
Diffstat (limited to 'components')
-rw-r--r--components/net/at/at_socket/at_socket.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/components/net/at/at_socket/at_socket.c b/components/net/at/at_socket/at_socket.c
index 804443fe32..72ff9a7aa3 100644
--- a/components/net/at/at_socket/at_socket.c
+++ b/components/net/at/at_socket/at_socket.c
@@ -856,7 +856,7 @@ int at_recv(int s, void *mem, size_t len, int flags)
int at_sendto(int socket, const void *data, size_t size, int flags, const struct sockaddr *to, socklen_t tolen)
{
struct at_socket *sock = RT_NULL;
- int len, result = 0;
+ int len = 0, result = 0;
if (data == RT_NULL || size == 0)
{