diff options
author | 2013-09-13 06:54:34 +0000 | |
---|---|---|
committer | 2013-09-13 06:54:34 +0000 | |
commit | 66ce7864e20b5bb3ae551463f8fbb51ae8bc716c (patch) | |
tree | e45567bc926e77608218476927b61e36c3bbc783 | |
parent | fix some gcc warnings (diff) | |
download | wireguard-openbsd-66ce7864e20b5bb3ae551463f8fbb51ae8bc716c.tar.xz wireguard-openbsd-66ce7864e20b5bb3ae551463f8fbb51ae8bc716c.zip |
avoid unaligned access in code that reused a buffer to send a
struct in_addr in a reply; simpler just use use buffer_put_int();
from portable; spotted by and ok dtucker@
-rw-r--r-- | usr.bin/ssh/channels.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/usr.bin/ssh/channels.c b/usr.bin/ssh/channels.c index 79d985aa704..a8a98ea4b22 100644 --- a/usr.bin/ssh/channels.c +++ b/usr.bin/ssh/channels.c @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.324 2013/07/12 00:19:58 djm Exp $ */ +/* $OpenBSD: channels.c,v 1.325 2013/09/13 06:54:34 djm Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -1231,11 +1231,10 @@ channel_decode_socks5(Channel *c, fd_set *readset, fd_set *writeset) s5_rsp.command = SSH_SOCKS5_SUCCESS; s5_rsp.reserved = 0; /* ignored */ s5_rsp.atyp = SSH_SOCKS5_IPV4; - ((struct in_addr *)&dest_addr)->s_addr = INADDR_ANY; dest_port = 0; /* ignored */ buffer_append(&c->output, &s5_rsp, sizeof(s5_rsp)); - buffer_append(&c->output, &dest_addr, sizeof(struct in_addr)); + buffer_put_int(&c->output, ntohl(INADDR_ANY)); /* bind address */ buffer_append(&c->output, &dest_port, sizeof(dest_port)); return 1; } |