diff options
author | Colin Watson <cjwatson@debian.org> | 2014-04-21 21:24:52 +0100 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2014-04-21 21:28:19 +0100 |
commit | 7cc2be72098d7b3384daf09d85d9969d9da0420e (patch) | |
tree | c762cfc9b928dc4b8dc41399308e3552b1e6a5ca /bufaux.c | |
parent | c730d55d220e15fb7bc6b9b56633541e97817175 (diff) | |
parent | 02883061577ec43ff8d0e8f0cf486bc5131db507 (diff) |
Apply upstream-recommended patch to fix bignum encoding for curve25519-sha256@libssh.org, fixing occasional key exchange failures.
Diffstat (limited to 'bufaux.c')
-rw-r--r-- | bufaux.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: bufaux.c,v 1.56 2014/02/02 03:44:31 djm Exp $ */ | 1 | /* $OpenBSD: bufaux.c,v 1.57 2014/04/16 23:22:45 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -372,6 +372,9 @@ buffer_put_bignum2_from_string(Buffer *buffer, const u_char *s, u_int l) | |||
372 | 372 | ||
373 | if (l > 8 * 1024) | 373 | if (l > 8 * 1024) |
374 | fatal("%s: length %u too long", __func__, l); | 374 | fatal("%s: length %u too long", __func__, l); |
375 | /* Skip leading zero bytes */ | ||
376 | for (; l > 0 && *s == 0; l--, s++) | ||
377 | ; | ||
375 | p = buf = xmalloc(l + 1); | 378 | p = buf = xmalloc(l + 1); |
376 | /* | 379 | /* |
377 | * If most significant bit is set then prepend a zero byte to | 380 | * If most significant bit is set then prepend a zero byte to |