diff options
author | Damien Miller <djm@mindrot.org> | 2014-04-20 13:24:49 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2014-04-20 13:24:49 +1000 |
commit | adbfdbbdccc70c9bd70d81ae096db115445c6e26 (patch) | |
tree | 4629696bb29eb4a575e543679a78a6cbf8f329d7 | |
parent | 75c62728dc87af6805696eeb520b9748faa136c8 (diff) |
- djm@cvs.openbsd.org 2014/04/16 23:22:45
[bufaux.c]
skip leading zero bytes in buffer_put_bignum2_from_string();
reported by jan AT mojzis.com; ok markus@
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | bufaux.c | 5 |
2 files changed, 8 insertions, 1 deletions
@@ -89,6 +89,10 @@ [sshd.c] avoid crash at exit: check that pmonitor!=NULL before dereferencing; bz#2225, patch from kavi AT juniper.net + - djm@cvs.openbsd.org 2014/04/16 23:22:45 + [bufaux.c] + skip leading zero bytes in buffer_put_bignum2_from_string(); + reported by jan AT mojzis.com; ok markus@ 20140401 - (djm) On platforms that support it, use prctl() to prevent sftp-server @@ -1,4 +1,4 @@ -/* $OpenBSD: bufaux.c,v 1.56 2014/02/02 03:44:31 djm Exp $ */ +/* $OpenBSD: bufaux.c,v 1.57 2014/04/16 23:22:45 djm Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * 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) if (l > 8 * 1024) fatal("%s: length %u too long", __func__, l); + /* Skip leading zero bytes */ + for (; l > 0 && *s == 0; l--, s++) + ; p = buf = xmalloc(l + 1); /* * If most significant bit is set then prepend a zero byte to |