File 0282-Cleanup-unused-dist-output-buf-immediately-instead-o.patch of Package erlang

From ee4d5eb50da8fcf06807ae53835b3d1c3e0215e0 Mon Sep 17 00:00:00 2001
From: Rickard Green <rickard@erlang.org>
Date: Tue, 21 Aug 2018 15:05:26 +0200
Subject: [PATCH 2/2] Cleanup unused dist output buf immediately instead of at
 GC

---
 erts/emulator/beam/dist.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c
index 6f54421805..abb08413d0 100644
--- a/erts/emulator/beam/dist.c
+++ b/erts/emulator/beam/dist.c
@@ -1938,6 +1938,8 @@ erts_dsig_send(ErtsDSigData *dsdp, struct erts_dsig_send_context* ctx)
 
 	    ctx->data_size = ctx->obuf->ext_endp - ctx->obuf->extp;
 	    if (ctx->data_size > (Uint) INT_MAX) {
+		free_dist_obuf(ctx->obuf);
+                ctx->obuf = NULL;
 		retval = ERTS_DSIG_SEND_TOO_LRG;
 		goto done;
 	    }
-- 
2.16.4

openSUSE Build Service is sponsored by