From: Simon Wilkinson Date: Fri, 30 Mar 2012 18:14:38 +0000 (+0100) Subject: libadmin: read returns an ssize_t, not a size_t X-Git-Tag: upstream/1.8.0_pre1^2~2625 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=b5f75c122875b4212eb1a885d09bfdd63f537a19;p=packages%2Fo%2Fopenafs.git libadmin: read returns an ssize_t, not a size_t size_t is unsigned, and therefore can never be less than 0. Using it as a return code from read() means that we never catch read errors. read() is defined as returning ssize_t, so just use this to capture its return code. Caught by clang's new error messages Change-Id: Ibf61119dec2c64fd4b1e16e6ef02178e427116f0 Reviewed-on: http://gerrit.openafs.org/7075 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- diff --git a/src/libadmin/bos/afs_bosAdmin.c b/src/libadmin/bos/afs_bosAdmin.c index dd17a7cf0..cbcf1dfcf 100644 --- a/src/libadmin/bos/afs_bosAdmin.c +++ b/src/libadmin/bos/afs_bosAdmin.c @@ -2705,7 +2705,7 @@ bos_ExecutableCreate(const void *serverHandle, const char *sourceFile, while (1) { char tbuffer[512]; - size_t len; + ssize_t len; len = read(fd, tbuffer, sizeof(tbuffer)); if (len < 0) { tst = ADMBOSCANTREADSOURCEFILE;