@@ -67,8 +67,9 @@ size_t webSocketSendFrame(AsyncClient *client, bool final, uint8_t opcode, bool
67
67
uint8_t *buf = (uint8_t *)malloc (headLen);
68
68
if (buf == NULL ) {
69
69
#ifdef ESP32
70
- log_e (" Failed to allocate buffer " );
70
+ log_e (" Failed to allocate" );
71
71
#endif
72
+ client->abort ();
72
73
return 0 ;
73
74
}
74
75
@@ -170,7 +171,7 @@ class AsyncWebSocketControl {
170
171
171
172
if (_data == NULL ) {
172
173
#ifdef ESP32
173
- log_e (" Failed to allocate buffer " );
174
+ log_e (" Failed to allocate" );
174
175
#endif
175
176
_len = 0 ;
176
177
} else {
@@ -522,7 +523,8 @@ void AsyncWebSocketClient::close(uint16_t code, const char *message) {
522
523
return ;
523
524
} else {
524
525
#ifdef ESP32
525
- log_e (" Failed to allocate buffer" );
526
+ log_e (" Failed to allocate" );
527
+ _client->abort ();
526
528
#endif
527
529
}
528
530
}
@@ -1252,6 +1254,13 @@ void AsyncWebSocket::handleRequest(AsyncWebServerRequest *request) {
1252
1254
}
1253
1255
const AsyncWebHeader *key = request->getHeader (WS_STR_KEY);
1254
1256
AsyncWebServerResponse *response = new AsyncWebSocketResponse (key->value (), this );
1257
+ if (response == NULL ) {
1258
+ #ifdef ESP32
1259
+ log_e (" Failed to allocate" );
1260
+ #endif
1261
+ request->abort ();
1262
+ return ;
1263
+ }
1255
1264
if (request->hasHeader (WS_STR_PROTOCOL)) {
1256
1265
const AsyncWebHeader *protocol = request->getHeader (WS_STR_PROTOCOL);
1257
1266
// ToDo: check protocol
@@ -1261,23 +1270,11 @@ void AsyncWebSocket::handleRequest(AsyncWebServerRequest *request) {
1261
1270
}
1262
1271
1263
1272
AsyncWebSocketMessageBuffer *AsyncWebSocket::makeBuffer (size_t size) {
1264
- AsyncWebSocketMessageBuffer *buffer = new AsyncWebSocketMessageBuffer (size);
1265
- if (buffer->length () != size) {
1266
- delete buffer;
1267
- return nullptr ;
1268
- } else {
1269
- return buffer;
1270
- }
1273
+ return new AsyncWebSocketMessageBuffer (size);
1271
1274
}
1272
1275
1273
1276
AsyncWebSocketMessageBuffer *AsyncWebSocket::makeBuffer (const uint8_t *data, size_t size) {
1274
- AsyncWebSocketMessageBuffer *buffer = new AsyncWebSocketMessageBuffer (data, size);
1275
- if (buffer->length () != size) {
1276
- delete buffer;
1277
- return nullptr ;
1278
- } else {
1279
- return buffer;
1280
- }
1277
+ return new AsyncWebSocketMessageBuffer (data, size);
1281
1278
}
1282
1279
1283
1280
/*
@@ -1298,7 +1295,7 @@ AsyncWebSocketResponse::AsyncWebSocketResponse(const String &key, AsyncWebSocket
1298
1295
#else
1299
1296
String k;
1300
1297
if (!k.reserve (key.length () + WS_STR_UUID_LEN)) {
1301
- log_e (" Failed to allocate buffer " );
1298
+ log_e (" Failed to allocate" );
1302
1299
return ;
1303
1300
}
1304
1301
k.concat (key);
0 commit comments