From 65e28822be73474993dd385bfca0bed5adcb4dfa Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 6 Jul 2017 19:37:08 +0100 Subject: [PATCH] TunDevice_PT.cc: Properly report tun device write errors --- testproject/TunDevice_PT.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/testproject/TunDevice_PT.cc b/testproject/TunDevice_PT.cc index 0e5aaf8..8c79d13 100644 --- a/testproject/TunDevice_PT.cc +++ b/testproject/TunDevice_PT.cc @@ -2,6 +2,7 @@ #include #include #include +#include #include #include @@ -103,10 +104,9 @@ TunDevice__PT_PROVIDER::~TunDevice__PT_PROVIDER() } /* setting a port parameter via config file */ -void TunDevice__PT_PROVIDER::set_parameter(const char *parameter_name, - const char *parameter_value) +void TunDevice__PT_PROVIDER::set_parameter(const char *parameter_name, const char *parameter_value) { - printf("%s(%s, %s)\n", __func__, parameter_name, parameter_value); + //printf("%s(%s, %s)\n", __func__, parameter_name, parameter_value); if (!strcmp(parameter_name, "device_name")) tun_data.dev = strdup(parameter_value); if (!strcmp(parameter_name, "debugging")) @@ -175,6 +175,10 @@ void TunDevice__PT_PROVIDER::outgoing_send(const TunDevice__Types::Tun__send& se rc = write(tun_data.fd, (const char*)(const unsigned char*)send_par.msg(), send_par.msg().lengthof()); + if (rc < 0) { + TTCN_error("writing to tun"); + return; + } log("Nr of bytes sent = %d", rc); log("leaving %s", __func__); }