diff options
author | Damien Miller <djm@mindrot.org> | 2006-10-24 03:00:12 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2006-10-24 03:00:12 +1000 |
commit | e7658a50f0c28cf9fe33e35bee9084844b09288c (patch) | |
tree | a3a21757627baff7035d1d30a056095b5bab5ffd /sftp.c | |
parent | 78802f0af361d90b5e8975cc3f24d35b4fda215f (diff) |
- (djm) OpenBSD CVS Sync
- ray@cvs.openbsd.org 2006/09/30 17:48:22
[sftp.c]
Clear errno before calling the strtol functions.
From Paul Stoeber <x0001 at x dot de1 dot cc>.
OK deraadt@.
Diffstat (limited to 'sftp.c')
-rw-r--r-- | sftp.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sftp.c,v 1.92 2006/09/19 05:52:23 otto Exp $ */ | 1 | /* $OpenBSD: sftp.c,v 1.93 2006/09/30 17:48:22 ray Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> | 3 | * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> |
4 | * | 4 | * |
@@ -977,6 +977,7 @@ parse_args(const char **cpp, int *pflag, int *lflag, int *iflag, | |||
977 | case I_CHOWN: | 977 | case I_CHOWN: |
978 | case I_CHGRP: | 978 | case I_CHGRP: |
979 | /* Get numeric arg (mandatory) */ | 979 | /* Get numeric arg (mandatory) */ |
980 | errno = 0; | ||
980 | l = strtol(cp, &cp2, base); | 981 | l = strtol(cp, &cp2, base); |
981 | if (cp2 == cp || ((l == LONG_MIN || l == LONG_MAX) && | 982 | if (cp2 == cp || ((l == LONG_MIN || l == LONG_MAX) && |
982 | errno == ERANGE) || l < 0) { | 983 | errno == ERANGE) || l < 0) { |