=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/sftp.c,v retrieving revision 1.91 retrieving revision 1.91.4.1 diff -u -r1.91 -r1.91.4.1 --- src/usr.bin/ssh/sftp.c 2006/08/03 03:34:42 1.91 +++ src/usr.bin/ssh/sftp.c 2006/11/08 00:42:10 1.91.4.1 @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.91 2006/08/03 03:34:42 deraadt Exp $ */ +/* $OpenBSD: sftp.c,v 1.91.4.1 2006/11/08 00:42:10 brad Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -481,7 +481,7 @@ if (stat(path, &sb) == -1) return(0); - return(sb.st_mode & S_IFDIR); + return(S_ISDIR(sb.st_mode)); } static int @@ -505,7 +505,7 @@ return(0); if (!(a->flags & SSH2_FILEXFER_ATTR_PERMISSIONS)) return(0); - return(a->perm & S_IFDIR); + return(S_ISDIR(a->perm)); } static int @@ -965,6 +965,7 @@ case I_CHOWN: case I_CHGRP: /* Get numeric arg (mandatory) */ + errno = 0; l = strtol(cp, &cp2, base); if (cp2 == cp || ((l == LONG_MIN || l == LONG_MAX) && errno == ERANGE) || l < 0) {