From 9ac9732e27128927d0e24d44d72145be5acfcc28 Mon Sep 17 00:00:00 2001
From: Justus Winter <justus@gnupg.org>
Date: Tue, 22 Aug 2017 16:24:40 +0200
Subject: eth-multiplexer: Fix error handling.

* eth-multiplexer/device_impl.c (ds_device_write): Do not deallocate
data, it is destroyed by the server loop ("consume-on-success").
---
 eth-multiplexer/device_impl.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

(limited to 'eth-multiplexer/device_impl.c')

diff --git a/eth-multiplexer/device_impl.c b/eth-multiplexer/device_impl.c
index 4796d5b3..085a27e0 100644
--- a/eth-multiplexer/device_impl.c
+++ b/eth-multiplexer/device_impl.c
@@ -106,10 +106,8 @@ ds_device_write (struct vether_device *vdev, mach_port_t reply_port,
 {
   kern_return_t ret = 0;
   if (vdev == NULL)
-    {
-      vm_deallocate (mach_task_self (), (vm_address_t) data, datalen);
-      return D_NO_SUCH_DEVICE;
-    }
+    return D_NO_SUCH_DEVICE;
+
   /* The packet is forwarded to all virtual interfaces and
    * the interface which the multiplexer connects to. */
   broadcast_pack (data, datalen, vdev);
-- 
cgit v1.2.3