Skip to content

Commit e8ed3d1

Browse files
committed
More calloc corrections...
1 parent fc090fc commit e8ed3d1

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

src/SparkFun_u-blox_SARA-R5_Arduino_Library.cpp

+30-4
Original file line numberDiff line numberDiff line change
@@ -2009,9 +2009,14 @@ SARA_R5_error_t SARA_R5::socketClose(int socket, int timeout)
20092009
char *response;
20102010

20112011
command = sara_r5_calloc_char(strlen(SARA_R5_CLOSE_SOCKET) + 10);
2012-
response = sara_r5_calloc_char(128);
20132012
if (command == NULL)
20142013
return SARA_R5_ERROR_OUT_OF_MEMORY;
2014+
response = sara_r5_calloc_char(128);
2015+
if (response == NULL)
2016+
{
2017+
free(command);
2018+
return SARA_R5_ERROR_OUT_OF_MEMORY;
2019+
}
20152020
sprintf(command, "%s=%d", SARA_R5_CLOSE_SOCKET, socket);
20162021

20172022
err = sendCommandWithResponse(command, SARA_R5_RESPONSE_OK, response, timeout);
@@ -2053,10 +2058,15 @@ SARA_R5_error_t SARA_R5::socketWrite(int socket, const char *str)
20532058
SARA_R5_error_t err;
20542059
unsigned long writeDelay;
20552060

2056-
response = sara_r5_calloc_char(128);
20572061
command = sara_r5_calloc_char(strlen(SARA_R5_WRITE_SOCKET) + 8);
20582062
if (command == NULL)
20592063
return SARA_R5_ERROR_OUT_OF_MEMORY;
2064+
response = sara_r5_calloc_char(128);
2065+
if (response == NULL)
2066+
{
2067+
free(command);
2068+
return SARA_R5_ERROR_OUT_OF_MEMORY;
2069+
}
20602070
sprintf(command, "%s=%d,%d", SARA_R5_WRITE_SOCKET, socket, strlen(str));
20612071

20622072
err = sendCommandWithResponse(command, "@", response,
@@ -2098,8 +2108,15 @@ SARA_R5_error_t SARA_R5::socketWriteUDP(int socket, const char *address, int por
20982108
SARA_R5_error_t err;
20992109
int dataLen = len == -1 ? strlen(str) : len;
21002110

2101-
response = sara_r5_calloc_char(128);
21022111
command = sara_r5_calloc_char(64);
2112+
if (command == NULL)
2113+
return SARA_R5_ERROR_OUT_OF_MEMORY;
2114+
response = sara_r5_calloc_char(128);
2115+
if (response == NULL)
2116+
{
2117+
free(command);
2118+
return SARA_R5_ERROR_OUT_OF_MEMORY;
2119+
}
21032120

21042121
sprintf(command, "%s=%d,\"%s\",%d,%d", SARA_R5_WRITE_UDP_SOCKET,
21052122
socket, address, port, dataLen);
@@ -2260,7 +2277,15 @@ int SARA_R5::socketGetLastError()
22602277
int errorCode = -1;
22612278

22622279
command=sara_r5_calloc_char(64);
2263-
response=sara_r5_calloc_char(128);
2280+
if (command == NULL)
2281+
return SARA_R5_ERROR_OUT_OF_MEMORY;
2282+
2283+
response=sara_r5_calloc_char(128);
2284+
if (response == NULL)
2285+
{
2286+
free(command);
2287+
return SARA_R5_ERROR_OUT_OF_MEMORY;
2288+
}
22642289

22652290
sprintf(command, "%s", SARA_R5_GET_ERROR);
22662291

@@ -3399,6 +3424,7 @@ SARA_R5_error_t SARA_R5::parseSocketReadIndicationUDP(int socket, int length)
33993424
err = socketReadUDP(socket, length, readDest);
34003425
if (err != SARA_R5_ERROR_SUCCESS)
34013426
{
3427+
free(readDest);
34023428
return err;
34033429
}
34043430

0 commit comments

Comments
 (0)