aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2008-07-16 22:37:09 +0000
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2008-07-16 22:37:09 +0000
commit4fb01ce0ba7e581963e5e06ff69038ca37635a79 (patch)
tree02a54ba39f6555237bbcf05ce22a7527765a0220
parentUsed unlikely() macro to tell compiler that msg() will (diff)
downloadopenvpn-4fb01ce0ba7e581963e5e06ff69038ca37635a79.tar.xz
In the Windows version of tun_finalize, on errors that would
return -1, set buf->len to 0 rather than -1. While downstream code is set up to consider the buffer invalidated if its length is <= 0, this change makes the code cleaner and safer. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@3061 e7ae566f-a301-0410-adde-c780ea21d3b5
-rw-r--r--tun.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tun.c b/tun.c
index c1494d9..bc3466b 100644
--- a/tun.c
+++ b/tun.c
@@ -2033,7 +2033,12 @@ tun_finalize (
}
if (buf)
- buf->len = ret;
+ {
+ if (ret < 0)
+ buf->len = 0;
+ else
+ buf->len = ret;
+ }
return ret;
}