mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-06 05:21:22 +03:00
Fix minor GCC10 static analyzer warnings (#7255)
Add minor NULL and double-free checks to source, identified using GCC10 pre-release static `-fanalyzer` on the coude. These are harmless to other versions. Also add explicit include of stdint to Schedule.h, because libstdc++20 will not automatically include it. Safe and no-op on earlier versions.
This commit is contained in:
parent
a9cf12fcf0
commit
388d3020f2
@ -2,6 +2,7 @@
|
||||
#define ESP_SCHEDULE_H
|
||||
|
||||
#include <functional>
|
||||
#include <stdint.h>
|
||||
|
||||
#define SCHEDULED_FN_MAX_COUNT 32
|
||||
|
||||
|
@ -234,6 +234,8 @@ namespace brssl {
|
||||
if (po) {
|
||||
free(po->name);
|
||||
free(po->data);
|
||||
po->name = nullptr;
|
||||
po->data = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -125,6 +125,9 @@ int WiFiClientSecure::_connectSSL(const char* hostName)
|
||||
{
|
||||
if (!_ssl) {
|
||||
_ssl = std::make_shared<SSLContext>();
|
||||
if (!_ssl) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
_ssl->connect(_client, hostName, _timeout);
|
||||
|
||||
@ -170,8 +173,7 @@ size_t WiFiClientSecure::write(Stream& stream)
|
||||
size_t totalSent = 0;
|
||||
size_t countRead;
|
||||
size_t countSent;
|
||||
if (!_ssl)
|
||||
{
|
||||
if (!_ssl) {
|
||||
return 0;
|
||||
}
|
||||
do {
|
||||
@ -399,61 +401,63 @@ void WiFiClientSecure::_initSSLContext()
|
||||
bool WiFiClientSecure::setCACert(const uint8_t* pk, size_t size)
|
||||
{
|
||||
_initSSLContext();
|
||||
return _ssl->loadObject(SSL_OBJ_X509_CACERT, pk, size);
|
||||
return _ssl ? _ssl->loadObject(SSL_OBJ_X509_CACERT, pk, size) : false;
|
||||
}
|
||||
|
||||
bool WiFiClientSecure::setCertificate(const uint8_t* pk, size_t size)
|
||||
{
|
||||
_initSSLContext();
|
||||
return _ssl->loadObject(SSL_OBJ_X509_CERT, pk, size);
|
||||
return _ssl ? _ssl->loadObject(SSL_OBJ_X509_CERT, pk, size) : false;
|
||||
}
|
||||
|
||||
bool WiFiClientSecure::setPrivateKey(const uint8_t* pk, size_t size)
|
||||
{
|
||||
_initSSLContext();
|
||||
return _ssl->loadObject(SSL_OBJ_RSA_KEY, pk, size);
|
||||
return _ssl ? _ssl->loadObject(SSL_OBJ_RSA_KEY, pk, size) : false;
|
||||
}
|
||||
|
||||
bool WiFiClientSecure::setCACert_P(PGM_VOID_P pk, size_t size)
|
||||
{
|
||||
_initSSLContext();
|
||||
return _ssl->loadObject_P(SSL_OBJ_X509_CACERT, pk, size);
|
||||
return _ssl ? _ssl->loadObject_P(SSL_OBJ_X509_CACERT, pk, size) : false;
|
||||
}
|
||||
|
||||
bool WiFiClientSecure::setCertificate_P(PGM_VOID_P pk, size_t size)
|
||||
{
|
||||
_initSSLContext();
|
||||
return _ssl->loadObject_P(SSL_OBJ_X509_CERT, pk, size);
|
||||
return _ssl ? _ssl->loadObject_P(SSL_OBJ_X509_CERT, pk, size) : false;
|
||||
}
|
||||
|
||||
bool WiFiClientSecure::setPrivateKey_P(PGM_VOID_P pk, size_t size)
|
||||
{
|
||||
_initSSLContext();
|
||||
return _ssl->loadObject_P(SSL_OBJ_RSA_KEY, pk, size);
|
||||
return _ssl ? _ssl->loadObject_P(SSL_OBJ_RSA_KEY, pk, size) : false;
|
||||
}
|
||||
|
||||
bool WiFiClientSecure::loadCACert(Stream& stream, size_t size)
|
||||
{
|
||||
_initSSLContext();
|
||||
return _ssl->loadObject(SSL_OBJ_X509_CACERT, stream, size);
|
||||
return _ssl ? _ssl->loadObject(SSL_OBJ_X509_CACERT, stream, size) : false;
|
||||
}
|
||||
|
||||
bool WiFiClientSecure::loadCertificate(Stream& stream, size_t size)
|
||||
{
|
||||
_initSSLContext();
|
||||
return _ssl->loadObject(SSL_OBJ_X509_CERT, stream, size);
|
||||
return _ssl ? _ssl->loadObject(SSL_OBJ_X509_CERT, stream, size) : false;
|
||||
}
|
||||
|
||||
bool WiFiClientSecure::loadPrivateKey(Stream& stream, size_t size)
|
||||
{
|
||||
_initSSLContext();
|
||||
return _ssl->loadObject(SSL_OBJ_RSA_KEY, stream, size);
|
||||
return _ssl ? _ssl->loadObject(SSL_OBJ_RSA_KEY, stream, size) : false;
|
||||
}
|
||||
|
||||
void WiFiClientSecure::allowSelfSignedCerts()
|
||||
{
|
||||
_initSSLContext();
|
||||
_ssl->allowSelfSignedCerts();
|
||||
if (_ssl) {
|
||||
_ssl->allowSelfSignedCerts();
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" int __ax_port_read(int fd, uint8_t* buffer, size_t count)
|
||||
|
Loading…
x
Reference in New Issue
Block a user