From cce681109c05ffa8cb88e83eb70ccf73c13d0c75 Mon Sep 17 00:00:00 2001
From: Jesper Louis Andersen <jesper.louis.andersen@gmail.com>
Date: Tue, 12 May 2015 12:44:14 +0200
Subject: Correct usage of sizeof() for pointer types

Given some pointer *x, calling sizeof(x) will give us
the size of the pointer (4/8 bytes) not the size fo the
underlying dereferenced structure. Use coccinelle to
search for these occurrences in the source code, and
correct them one by one. In the case of
erl_node_tables.c, the erts_snprintf() calls used a
much too small buffer.

- run_erl.c: Use the size of the signal type, not
  its pointer.
- erl_node_tables.c: Use the size of the _BUFFER in
  erts_snprintf() to make sure we can use the full space.
---
 erts/etc/ose/run_erl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'erts/etc')

diff --git a/erts/etc/ose/run_erl.c b/erts/etc/ose/run_erl.c
index 8bc49a485e..a6499f2bf3 100644
--- a/erts/etc/ose/run_erl.c
+++ b/erts/etc/ose/run_erl.c
@@ -615,7 +615,7 @@ int run_erl(int argc,char **argv) {
        returns */
     PROCESS main_pid;
     hunt_in_block("run_erl","main",&main_pid);
-    sig = alloc(sizeof(sig),ERTS_SIGNAL_RUN_ERL_DAEMON);
+    sig = alloc(sizeof(*sig),ERTS_SIGNAL_RUN_ERL_DAEMON);
     send(&sig,main_pid);
     sig = receive(sigsel);
     pid = sender(&sig);
-- 
cgit v1.2.3