aliyun / iotkit-embedded

高速镜像: https://code.aliyun.com/linkkit/c-sdk
Apache License 2.0
496 stars 252 forks source link

断网连接时,HAL_TLS_openssl.c内调用HAL_TCP_linux.c中的接口HAL_SSL_Establish接口会报错,代码逻辑存在错误 #113

Open tianhuanqingyun opened 5 years ago

tianhuanqingyun commented 5 years ago

iotkit-embedded/src/ref-impl/hal/os/ubuntu/HAL_TCP_linux.c 中, line 48: uintptr_t HAL_TCP_Establish(const char host, uint16_t port) 此函数接口返回值不会小于1,若用于iotkit-embedded/src/ref-impl/hal/ssl/openssl/HAL_TLS_openssl.c中, line 316: uintptr_t HAL_SSL_Establish(const char host, uint16_t port, const char *ca_crt, size_t ca_crt_len) 接口内,存在如下判断逻辑,会导致后续出错(相关内存已经free) tmp = HAL_TCP_Establish(host, port); if (-1 == tmp) { return (uintptr_t)NULL; } 建议修改