Merge pull request #3327 from cesanta/printoom

close connection on OOM when printing
This commit is contained in:
Sergio R. Caprile authored and GitHub committed 2025-10-29 15:48:57 -03:00
commit b3b73f4751
2 files changed
+16 -4

No files matched your search

+8 -2
View File
@@ -3866,8 +3866,14 @@ struct mg_connection *mg_mqtt_listen(struct mg_mgr *mgr, const char *url,
size_t mg_vprintf(struct mg_connection *c, const char *fmt, va_list *ap) {
size_t old = c->send.len;
mg_vxprintf(mg_pfn_iobuf, &c->send, fmt, ap);
return c->send.len - old;
size_t expected = mg_vxprintf(mg_pfn_iobuf, &c->send, fmt, ap);
size_t actual = c->send.len - old;
if (actual != expected) {
mg_error(c, "OOM");
c->send.len = old;
actual = 0;
}
return actual;
}
size_t mg_printf(struct mg_connection *c, const char *fmt, ...) {
+8 -2
View File
@@ -9,8 +9,14 @@
size_t mg_vprintf(struct mg_connection *c, const char *fmt, va_list *ap) {
size_t old = c->send.len;
mg_vxprintf(mg_pfn_iobuf, &c->send, fmt, ap);
return c->send.len - old;
size_t expected = mg_vxprintf(mg_pfn_iobuf, &c->send, fmt, ap);
size_t actual = c->send.len - old;
if (actual != expected) {
mg_error(c, "OOM");
c->send.len = old;
actual = 0;
}
return actual;
}
size_t mg_printf(struct mg_connection *c, const char *fmt, ...) {