mirror of https://github.com/ARMmbed/mbed-os.git
Coverity issues fixed
parent
0a73eda9d4
commit
84063bf222
|
@ -110,6 +110,11 @@ int hex_str_to_char_str(const char *str, uint16_t len, char *buf)
|
|||
return 1;
|
||||
}
|
||||
|
||||
void hex_to_char(const char *hex, char &buf)
|
||||
{
|
||||
buf = CellularUtil_stub::char_ptr[CellularUtil_stub::char_pos++];
|
||||
}
|
||||
|
||||
void uint_to_binary_str(uint32_t num, char *str, int str_size, int bit_cnt)
|
||||
{
|
||||
|
||||
|
|
|
@ -49,12 +49,14 @@ ESP8266::ESP8266(PinName tx, PinName rx, bool debug, PinName rts, PinName cts)
|
|||
_parser(&_serial),
|
||||
_packets(0),
|
||||
_packets_end(&_packets),
|
||||
_sock_active_id(-1),
|
||||
_heap_usage(0),
|
||||
_connect_error(0),
|
||||
_disconnect(false),
|
||||
_fail(false),
|
||||
_sock_already(false),
|
||||
_closed(false),
|
||||
_error(false),
|
||||
_busy(false),
|
||||
_reset_check(_rmutex),
|
||||
_reset_done(false),
|
||||
|
@ -97,6 +99,10 @@ ESP8266::ESP8266(PinName tx, PinName rx, bool debug, PinName rts, PinName cts)
|
|||
_sock_i[i].tcp_data_avbl = 0;
|
||||
_sock_i[i].tcp_data_rcvd = 0;
|
||||
}
|
||||
|
||||
_scan_r.res = NULL;
|
||||
_scan_r.limit = 0;
|
||||
_scan_r.cnt = 0;
|
||||
}
|
||||
|
||||
bool ESP8266::at_available()
|
||||
|
@ -328,8 +334,8 @@ nsapi_error_t ESP8266::connect(const char *ap, const char *passPhrase)
|
|||
_smutex.lock();
|
||||
set_timeout(ESP8266_CONNECT_TIMEOUT);
|
||||
|
||||
_parser.send("AT+CWJAP_CUR=\"%s\",\"%s\"", ap, passPhrase);
|
||||
if (!_parser.recv("OK\n")) {
|
||||
bool res = _parser.send("AT+CWJAP_CUR=\"%s\",\"%s\"", ap, passPhrase);
|
||||
if (!res || !_parser.recv("OK\n")) {
|
||||
if (_fail) {
|
||||
if (_connect_error == 1) {
|
||||
ret = NSAPI_ERROR_CONNECTION_TIMEOUT;
|
||||
|
|
|
@ -94,6 +94,7 @@ ESP8266Interface::ESP8266Interface(PinName tx, PinName rx, bool debug, PinName r
|
|||
_if_blocking(true),
|
||||
_if_connected(_cmutex),
|
||||
_initialized(false),
|
||||
_connect_retval(NSAPI_ERROR_OK),
|
||||
_conn_stat(NSAPI_STATUS_DISCONNECTED),
|
||||
_conn_stat_cb(NULL),
|
||||
_global_event_queue(mbed_event_queue()), // Needs to be set before attaching event() to SIGIO
|
||||
|
@ -298,7 +299,7 @@ int ESP8266Interface::set_credentials(const char *ssid, const char *pass, nsapi_
|
|||
if (pass_length >= ESP8266_PASSPHRASE_MIN_LENGTH
|
||||
&& pass_length <= ESP8266_PASSPHRASE_MAX_LENGTH) {
|
||||
memset(ap_pass, 0, sizeof(ap_pass));
|
||||
strncpy(ap_pass, pass, sizeof(ap_pass));
|
||||
strncpy(ap_pass, pass, ESP8266_PASSPHRASE_MAX_LENGTH);
|
||||
} else {
|
||||
return NSAPI_ERROR_PARAMETER;
|
||||
}
|
||||
|
|
|
@ -698,7 +698,7 @@ ssize_t ATHandler::read_hex_string(char *buf, size_t size)
|
|||
} else {
|
||||
hexbuf[read_idx % 2] = c;
|
||||
if (read_idx % 2 == 1) {
|
||||
hex_str_to_char_str(hexbuf, 2, buf + buf_idx);
|
||||
hex_to_char(hexbuf, *(buf + buf_idx));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -923,7 +923,7 @@ void ATHandler::resp(const char *prefix, bool check_urc)
|
|||
|
||||
while (!get_last_error()) {
|
||||
|
||||
match(CRLF, CRLF_LENGTH);
|
||||
(void)match(CRLF, CRLF_LENGTH);
|
||||
|
||||
if (match(OK, OK_LENGTH)) {
|
||||
set_scope(RespType);
|
||||
|
@ -1281,6 +1281,7 @@ void ATHandler::cmd_start_stop(const char *cmd, const char *cmd_chr, const char
|
|||
|
||||
nsapi_error_t ATHandler::at_cmd_str(const char *cmd, const char *cmd_chr, char *resp_buf, size_t buf_size, const char *format, ...)
|
||||
{
|
||||
MBED_ASSERT(strlen(cmd) < BUFF_SIZE);
|
||||
lock();
|
||||
|
||||
handle_start(cmd, cmd_chr);
|
||||
|
|
|
@ -188,7 +188,7 @@ void AT_CellularSMS::cmt_urc()
|
|||
{
|
||||
tr_debug("CMT_URC called");
|
||||
//+CMT: <oa>,[<alpha>],<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR><LF><data>
|
||||
_at.consume_to_stop_tag();
|
||||
(void)_at.consume_to_stop_tag();
|
||||
// call user defined callback function
|
||||
if (_cb) {
|
||||
_cb();
|
||||
|
@ -1205,7 +1205,7 @@ uint16_t AT_CellularSMS::unpack_7_bit_gsm_to_str(const char *str, int len, char
|
|||
char tmp1;
|
||||
|
||||
if (padding_bits) {
|
||||
hex_str_to_char_str(str, 2, &tmp);
|
||||
hex_to_char(str, tmp);
|
||||
buf[decodedCount] = gsm_to_ascii[(tmp >> padding_bits) & 0x7F];
|
||||
strCount++;
|
||||
decodedCount++;
|
||||
|
@ -1213,19 +1213,19 @@ uint16_t AT_CellularSMS::unpack_7_bit_gsm_to_str(const char *str, int len, char
|
|||
|
||||
while (strCount < len) {
|
||||
shift = (strCount - padding_bits) % 7;
|
||||
hex_str_to_char_str(str + strCount * 2, 2, &tmp);
|
||||
hex_to_char(str + strCount * 2, tmp);
|
||||
if (shift == 0) {
|
||||
buf[decodedCount] = gsm_to_ascii[tmp & 0x7F];
|
||||
} else if (shift == 6) {
|
||||
hex_str_to_char_str(str + (strCount - 1) * 2, 2, &tmp1);
|
||||
hex_to_char(str + (strCount - 1) * 2, tmp1);
|
||||
buf[decodedCount] = gsm_to_ascii[(((tmp1 >> 2)) | (tmp << 6)) & 0x7F];
|
||||
if (decodedCount + 1 < msg_len) {
|
||||
hex_str_to_char_str(str + strCount * 2, 2, &tmp);
|
||||
hex_to_char(str + strCount * 2, tmp);
|
||||
decodedCount++;
|
||||
buf[decodedCount] = gsm_to_ascii[(tmp >> 1) & 0x7F];
|
||||
}
|
||||
} else {
|
||||
hex_str_to_char_str(str + (strCount - 1) * 2, 2, &tmp1);
|
||||
hex_to_char(str + (strCount - 1) * 2, tmp1);
|
||||
buf[decodedCount] = gsm_to_ascii[(((tmp1 >> (8 - shift))) | ((tmp << shift))) & 0x7F];
|
||||
}
|
||||
|
||||
|
|
|
@ -271,15 +271,22 @@ int hex_str_to_char_str(const char *str, uint16_t len, char *buf)
|
|||
{
|
||||
int strcount = 0;
|
||||
for (int i = 0; i + 1 < len; i += 2) {
|
||||
int upper = hex_str_to_int(str + i, 1);
|
||||
int lower = hex_str_to_int(str + i + 1, 1);
|
||||
buf[strcount] = ((upper << 4) & 0xF0) | (lower & 0x0F);
|
||||
char tmp;
|
||||
hex_to_char(str + i, tmp);
|
||||
buf[strcount] = tmp;
|
||||
strcount++;
|
||||
}
|
||||
|
||||
return strcount;
|
||||
}
|
||||
|
||||
void hex_to_char(const char *hex, char &buf)
|
||||
{
|
||||
int upper = hex_str_to_int(hex, 1);
|
||||
int lower = hex_str_to_int(hex + 1, 1);
|
||||
buf = ((upper << 4) & 0xF0) | (lower & 0x0F);
|
||||
}
|
||||
|
||||
void uint_to_binary_str(uint32_t num, char *str, int str_size, int bit_cnt)
|
||||
{
|
||||
if (!str || str_size < bit_cnt) {
|
||||
|
|
|
@ -105,6 +105,13 @@ int hex_str_to_int(const char *hex_string, int hex_string_length);
|
|||
*/
|
||||
int hex_str_to_char_str(const char *str, uint16_t len, char *buf);
|
||||
|
||||
/** Converts the given hex string to char
|
||||
*
|
||||
* @param str A hex value that is converted to char
|
||||
* @param buf A char variable where result conversion is stored
|
||||
*/
|
||||
void hex_to_char(const char *hex, char &buf);
|
||||
|
||||
/** Converts the given uint to binary string. Fills the given str starting from [0] with the number of bits defined by bit_cnt
|
||||
* For example uint_to_binary_string(9, str, 10) would fill str "0000001001"
|
||||
* For example uint_to_binary_string(9, str, 3) would fill str "001"
|
||||
|
|
|
@ -478,6 +478,7 @@ nsapi_size_or_error_t QUECTEL_M26_CellularStack::socket_sendto_impl(CellularSock
|
|||
_at.resp_start("+QISACK:");
|
||||
sent_len_before = _at.read_int();
|
||||
sent_acked = _at.read_int();
|
||||
(void)sent_acked;
|
||||
sent_nacked = _at.read_int();
|
||||
_at.resp_stop();
|
||||
|
||||
|
|
|
@ -162,6 +162,7 @@ void LWIP::tcpip_init_irq(void *eh)
|
|||
LWIP::LWIP()
|
||||
{
|
||||
default_interface = NULL;
|
||||
tcpip_thread_id = NULL;
|
||||
|
||||
// Seed lwip random
|
||||
lwip_seed_random();
|
||||
|
@ -208,7 +209,9 @@ nsapi_error_t LWIP::add_dns_server(const SocketAddress &address, const char *int
|
|||
const ip_addr_t *ip_addr_move;
|
||||
ip_addr_t ip_addr;
|
||||
|
||||
convert_mbed_addr_to_lwip(&ip_addr, &addr);
|
||||
if (!convert_mbed_addr_to_lwip(&ip_addr, &addr)) {
|
||||
return NSAPI_ERROR_PARAMETER;
|
||||
}
|
||||
|
||||
if (ip_addr_isany(&ip_addr)) {
|
||||
return NSAPI_ERROR_NO_ADDRESS;
|
||||
|
|
Loading…
Reference in New Issue