diff options
Diffstat (limited to 'src/main/extractor_ipc_gnu.c')
-rw-r--r-- | src/main/extractor_ipc_gnu.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/extractor_ipc_gnu.c b/src/main/extractor_ipc_gnu.c index 7dce32b..2a6dbc3 100644 --- a/src/main/extractor_ipc_gnu.c +++ b/src/main/extractor_ipc_gnu.c | |||
@@ -263,6 +263,7 @@ EXTRACTOR_IPC_channel_create_ (struct EXTRACTOR_PluginList *plugin, | |||
263 | } | 263 | } |
264 | channel->shm = shm; | 264 | channel->shm = shm; |
265 | channel->plugin = plugin; | 265 | channel->plugin = plugin; |
266 | channel->size = 0; | ||
266 | if (0 != pipe (p1)) | 267 | if (0 != pipe (p1)) |
267 | { | 268 | { |
268 | LOG_STRERROR ("pipe"); | 269 | LOG_STRERROR ("pipe"); |
@@ -309,13 +310,14 @@ EXTRACTOR_IPC_channel_create_ (struct EXTRACTOR_PluginList *plugin, | |||
309 | } | 310 | } |
310 | init->opcode = MESSAGE_INIT_STATE; | 311 | init->opcode = MESSAGE_INIT_STATE; |
311 | init->reserved = 0; | 312 | init->reserved = 0; |
313 | init->reserved2 = 0; | ||
312 | init->shm_name_length = slen; | 314 | init->shm_name_length = slen; |
313 | init->shm_map_size = shm->shm_size; | 315 | init->shm_map_size = shm->shm_size; |
314 | memcpy (&init[1], shm->shm_name, slen); | 316 | memcpy (&init[1], shm->shm_name, slen); |
315 | if (sizeof (init) != | 317 | if (sizeof (struct InitMessage) + slen != |
316 | EXTRACTOR_IPC_channel_send_ (channel, | 318 | EXTRACTOR_IPC_channel_send_ (channel, |
317 | init, | 319 | init, |
318 | sizeof (init) + slen) ) | 320 | sizeof (struct InitMessage) + slen) ) |
319 | { | 321 | { |
320 | LOG ("Failed to send INIT_STATE message to plugin\n"); | 322 | LOG ("Failed to send INIT_STATE message to plugin\n"); |
321 | EXTRACTOR_IPC_channel_destroy_ (channel); | 323 | EXTRACTOR_IPC_channel_destroy_ (channel); |