diff options
| -rw-r--r-- | src/supplemental/websocket/websocket.c | 3 | ||||
| -rw-r--r-- | tests/wsstream.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/supplemental/websocket/websocket.c b/src/supplemental/websocket/websocket.c index 91affc62..d8b7f7d5 100644 --- a/src/supplemental/websocket/websocket.c +++ b/src/supplemental/websocket/websocket.c @@ -447,10 +447,13 @@ ws_frame_prep_tx(nni_ws *ws, ws_frame *frame) // Potentially allocate space for the data if we need to. // Note that an empty message is legal. if ((frame->bufsz < frame->len) && (frame->len > 0)) { + nni_free(frame->buf, frame->bufsz); frame->buf = nni_alloc(frame->len); if (frame->buf == NULL) { + frame->bufsz = 0; return (NNG_ENOMEM); } + frame->bufsz = frame->len; } buf = frame->buf; diff --git a/tests/wsstream.c b/tests/wsstream.c index dbfcdea2..c51e2630 100644 --- a/tests/wsstream.c +++ b/tests/wsstream.c @@ -66,6 +66,7 @@ TestMain("Websocket STREAM", { Reset({ nng_aio_free(daio); nng_aio_free(laio); + nng_aio_free(maio); if (c1 != NULL) { nng_stream_close(c1); nng_stream_free(c1); |
