From: Amos Jeffries Date: Fri, 30 Nov 2012 13:19:14 +0000 (-0700) Subject: squidclient: Better error checking X-Git-Tag: SQUID_3_2_4~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=63dcaed0185e03d84cfeaf21170dadb5bac3b0c4;p=thirdparty%2Fsquid.git squidclient: Better error checking * detect and report fstat() errors which could lead to invalid Content-Length being sent. * remove some useless checks which were causing false positives by Coverity. Detected by Coverity Scan. Issues 740334, 740379 --- diff --git a/tools/squidclient.cc b/tools/squidclient.cc index 6d204743f0..5347cd0f8a 100644 --- a/tools/squidclient.cc +++ b/tools/squidclient.cc @@ -268,13 +268,11 @@ main(int argc, char *argv[]) break; case 'A': - if (optarg != NULL) - useragent = optarg; + useragent = optarg; break; case 'h': /* remote host */ - if (optarg != NULL) - hostname = optarg; + hostname = optarg; break; case 'j': @@ -282,13 +280,11 @@ main(int argc, char *argv[]) break; case 'V': - if (optarg != NULL) - version = optarg; + version = optarg; break; case 'l': /* local host */ - if (optarg != NULL) - localhost = optarg; + localhost = optarg; break; case 's': /* silent */ @@ -421,7 +417,9 @@ main(int argc, char *argv[]) setmode(put_fd, O_BINARY); #endif - fstat(put_fd, &sb); + if (fstat(put_fd, &sb) < 0) { + fprintf(stderr, "%s: can't identify length of file (%s)\n", argv[0], xstrerror()); + } } if (!host) {