From: Danny Browning Date: Tue, 18 Sep 2018 16:05:03 +0000 (-0600) Subject: suricata: file existence check (bug #2615) X-Git-Tag: suricata-4.1.0-rc2~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a307e637c6d44f0672244dbf22cc95e29f19a3bf;p=thirdparty%2Fsuricata.git suricata: file existence check (bug #2615) Files and directories passed via command line option -r should be checked for existence during command line parsing and not start additional suricata functionality. --- diff --git a/src/suricata.c b/src/suricata.c index 0b421bf9ce..cc1a8294ce 100644 --- a/src/suricata.c +++ b/src/suricata.c @@ -2025,8 +2025,18 @@ static TmEcode ParseCommandLine(int argc, char** argv, SCInstance *suri) PrintUsage(argv[0]); return TM_ECODE_FAILED; } +#ifdef OS_WIN32 + struct _stat buf; + if(_stat(optarg, &buf) != 0) { +#else + struct stat buf; + if (stat(optarg, &buf) != 0) { +#endif /* OS_WIN32 */ + SCLogError(SC_ERR_INITIALIZATION, "ERROR: Pcap file does not exist\n"); + return TM_ECODE_FAILED; + } if (ConfSetFinal("pcap-file.file", optarg) != 1) { - fprintf(stderr, "ERROR: Failed to set pcap-file.file\n"); + SCLogError(SC_ERR_INITIALIZATION, "ERROR: Failed to set pcap-file.file\n"); return TM_ECODE_FAILED; }