File 0417-erts-Silence-CodeChecker-in-enif_send.patch of Package erlang

From 4d06d9ce2b9cef3556f33edd77985661f20c1ff1 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Mon, 8 Feb 2021 21:50:02 +0100
Subject: [PATCH 17/34] erts: Silence CodeChecker in enif_send

---
 erts/emulator/beam/erl_nif.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/erts/emulator/beam/erl_nif.c b/erts/emulator/beam/erl_nif.c
index 6a9f252608..359ebee52e 100644
--- a/erts/emulator/beam/erl_nif.c
+++ b/erts/emulator/beam/erl_nif.c
@@ -897,17 +897,19 @@ int enif_send(ErlNifEnv* env, const ErlNifPid* to_pid,
     if (!env || !env->tracee) {
         /* This clause is taken when enif_send is called in a nif
            that is not a erl_tracer nif. */
-
-        if (c_p && IS_TRACED_FL(c_p, F_TRACE_SEND)) {
-	    full_flush_env(env);
-            trace_send(c_p, receiver, msg);
-	    full_cache_env(env);
-	}
-        if (c_p && scheduler > 0 && copy_sz > ERTS_MSG_COPY_WORDS_PER_REDUCTION) {
-            Uint reds = copy_sz / ERTS_MSG_COPY_WORDS_PER_REDUCTION;
-            if (reds > CONTEXT_REDS)
-                reds = CONTEXT_REDS;
-            BUMP_REDS(c_p, (int) reds);
+        if (c_p) {
+            ASSERT(env);
+            if (IS_TRACED_FL(c_p, F_TRACE_SEND)) {
+                full_flush_env(env);
+                trace_send(c_p, receiver, msg);
+                full_cache_env(env);
+            }
+            if (scheduler > 0 && copy_sz > ERTS_MSG_COPY_WORDS_PER_REDUCTION) {
+                Uint reds = copy_sz / ERTS_MSG_COPY_WORDS_PER_REDUCTION;
+                if (reds > CONTEXT_REDS)
+                    reds = CONTEXT_REDS;
+                BUMP_REDS(c_p, (int) reds);
+            }
         }
     }
     else {
-- 
2.26.2

openSUSE Build Service is sponsored by