aboutsummaryrefslogtreecommitdiff
path: root/src/openvpn/options.c
diff options
context:
space:
mode:
authorLev Stipakov2018-10-11 14:51:42 +0300
committerGert Doering2018-10-11 20:03:38 +0200
commit62eb234c810533c7ea13d8a9faa28eebe07f2e82 (patch)
treea6df504674f6431927e925cd62e24156b0daf436 /src/openvpn/options.c
parent9de7fe0a7bf1111ebea9ca9e28b2def9ae3e53ff (diff)
downloadopenvpn-62eb234c810533c7ea13d8a9faa28eebe07f2e82.zip
openvpn-62eb234c810533c7ea13d8a9faa28eebe07f2e82.tar.gz
options.c: fix broken unary minus usage
In Visual Studio when unary minus is applied to unsigned, result is still unsigned. This means that when we use result as function formal parameter, we pass incorrect value. Fix by introducing frame_remove_from_extra_frame(), which makes code semantically more clear and eliminates the need in negative value and cast. Since GCC didn't complain (and users too :), it probably performed cast to signed automatically. Signed-off-by: Lev Stipakov <lev@openvpn.net> Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <1539258702-15427-1-git-send-email-lstipakov@gmail.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg17739.html Signed-off-by: Gert Doering <gert@greenie.muc.de> (cherry picked from commit ed31cf2ab718d879615dea81e6a17d26537ab43a)
Diffstat (limited to 'src/openvpn/options.c')
-rw-r--r--src/openvpn/options.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/openvpn/options.c b/src/openvpn/options.c
index f964210..0257a6b 100644
--- a/src/openvpn/options.c
+++ b/src/openvpn/options.c
@@ -3500,7 +3500,7 @@ calc_options_string_link_mtu(const struct options *o, const struct frame *frame)
struct key_type fake_kt;
init_key_type(&fake_kt, o->ciphername, o->authname, o->keysize, true,
false);
- frame_add_to_extra_frame(&fake_frame, -(crypto_max_overhead()));
+ frame_remove_from_extra_frame(&fake_frame, crypto_max_overhead());
crypto_adjust_frame_parameters(&fake_frame, &fake_kt, o->use_iv,
o->replay, cipher_kt_mode_ofb_cfb(fake_kt.cipher));
frame_finalize(&fake_frame, o->ce.link_mtu_defined, o->ce.link_mtu,