Index: roard/clients.c
===================================================================
--- roard/clients.c	(revision 4297)
+++ roard/clients.c	(revision 4298)
@@ -475,4 +475,6 @@
     }
 
+    ROAR_DBG("clients_check(*): data=%p", data);
+
     roar_send_message(&con, &m, flags[1] & COMMAND_FLAG_OUT_LONGDATA ? data : NULL);
 
Index: roard/commands.c
===================================================================
--- roard/commands.c	(revision 4279)
+++ roard/commands.c	(revision 4298)
@@ -94,4 +94,7 @@
  int cmd = command_get_id_by_cmd(mes->cmd);
  int (*func)(int client, struct roar_message * mes, char ** data, uint32_t flags[2]);
+#ifdef DEBUG
+ int ret;
+#endif
 
  if ( cmd == -1 )
@@ -105,5 +108,12 @@
  ROAR_DBG("command_exec(*): Execing command %i(%s) via %p", cmd, g_commands[cmd].name, func);
 
+#ifdef DEBUG
+ ROAR_DBG("command_exec(client=%i, mes=%p{.cmd=%i,...}, data=%p{%p}, flags=%p): func=%p", client, mes, (int)mes->cmd, data, *data, flags, func);
+ ret = func(client, mes, data, flags);
+ ROAR_DBG("command_exec(client=%i, mes=%p{.cmd=%i,...}, data=%p{%p}, flags=%p) = %i", client, mes, (int)mes->cmd, data, *data, flags, ret);
+ return ret;
+#else
  return func(client, mes, data, flags);
+#endif
 }
 
Index: roard/req.c
===================================================================
--- roard/req.c	(revision 4291)
+++ roard/req.c	(revision 4298)
@@ -26,4 +26,23 @@
 #include "roard.h"
 
+static void * _dataspace(struct roar_message * mes, char ** data, uint32_t flags[2], size_t len) {
+ if ( len <= LIBROAR_BUFFER_MSGDATA )
+  return mes->data;
+
+ if ( *data != NULL )
+  free(*data);
+
+ *data = malloc(len);
+
+ ROAR_DBG("_dataspace(mes=%p, data=%p, flags=%p, len=%llu): *data=%p", mes, data, flags, (long long unsigned int)len, *data);
+
+ if ( *data == NULL )
+  return NULL;
+
+ flags[1] |= COMMAND_FLAG_OUT_LONGDATA;
+
+ return *data;
+}
+
 int req_on_noop        (int client, struct roar_message * mes, char ** data, uint32_t flags[2]) {
  mes->cmd     = ROAR_CMD_OK;
@@ -815,23 +834,28 @@
     ROAR_DBG("req_on_get_stream_para(client=%i, ...): data size for answer is %i 64 bit sub-packets", client, (int)needed);
 
-    if ( (needed*8) > LIBROAR_BUFFER_MSGDATA ) {
-     return -1;
-     if ( (d64 = malloc(needed*8)) == NULL )
-      return -1;
-
-     *data = (char*)d64;
-    }
-
-    d64 = (int64_t*)mes->data;
+    ROAR_DBG("req_on_get_stream_para(client=%i, ...): mes->datalen=%i, data=%p{%p}", client, (int)mes->datalen, data, *data);
+    d64 = _dataspace(mes, data, flags, needed * 8);
+    ROAR_DBG("req_on_get_stream_para(client=%i, ...): d64=%p, data=%p{%p}", client, d64, data, *data);
 
     if ( (d = roar_mm_malloc(mes->datalen)) == NULL )
      return -1;
 
+    ROAR_DBG("req_on_get_stream_para(client=%i, ...): d=%p, data=%p{%p}", client, d, data, *data);
+
+
+    ROAR_DBG("req_on_get_stream_para(client=%i, ...): mes->datalen=%i, data=%p{%p}", client, (int)mes->datalen, data, *data);
+    ROAR_DBG("req_on_get_stream_para(client=%i, ...): d64=%p, data=%p{%p}", client, d64, data, *data);
     memcpy(d, mes->data, mes->datalen);
+    ROAR_DBG("req_on_get_stream_para(client=%i, ...): d64=%p, data=%p{%p}", client, d64, data, *data);
 
     d64ptr = d64;
+
+    ROAR_DBG("req_on_get_stream_para(client=%i, ...): mes->datalen=%i, data=%p{%p}", client, (int)mes->datalen, data, *data);
+    ROAR_DBG("req_on_get_stream_para(client=%i, ...): d64=%p, data=%p{%p}", client, d64, data, *data);
 
     if ( mes->stream == -1 ) {
      for (i = 6; i < mes->datalen/2; i++) {
+      ROAR_DBG("req_on_get_stream_para(client=%i, ...): d64=%p, data=%p{%p}", client, d64, data, *data);
+
       if ( (ltm = streams_ltm_get(d[i], d[5], d[3])) == NULL )
        return -1;
@@ -879,4 +903,6 @@
     }
 
+    ROAR_DBG("req_on_get_stream_para(client=%i, ...): d64=%p, data=%p{%p}", client, d64, data, *data);
+
     roar_mm_free(d);
 
@@ -888,4 +914,5 @@
     ROAR_DBG("req_on_get_stream_para(client=%i, ...): LTM d64=%p, d64ptr=%p", client, d64, d64ptr);
     ROAR_DBG("req_on_get_stream_para(client=%i, ...): LTM final message has %i byte of data", client, (int)mes->datalen);
+    ROAR_DBG("req_on_get_stream_para(client=%i, ...): d64=%p, data=%p{%p}", client, d64, data, *data);
     ROAR_DBG("req_on_get_stream_para(client=%i, ...): LTM GET_RAW request: OK. returning...", client);
    break;
