From: Thomas Hochstein Date: Mon, 2 Sep 2013 10:59:45 +0000 (+0200) Subject: Merge branch 'thh-checkinput' into next X-Git-Tag: 0.01~1^2~4 X-Git-Url: https://code.th-h.de/?p=usenet%2Fnewsstats.git;a=commitdiff_plain;h=5cfcb1c0610d925a14cc01e45de4af1b36d1b637;hp=-c Merge branch 'thh-checkinput' into next * thh-checkinput: Check for invalid newsgroup names. --- 5cfcb1c0610d925a14cc01e45de4af1b36d1b637 diff --combined groupstats.pl index f0e4278,8b93559..a6e54ba --- a/groupstats.pl +++ b/groupstats.pl @@@ -1,4 -1,4 +1,4 @@@ -#! /usr/bin/perl -W +#! /usr/bin/perl # # groupstats.pl # @@@ -18,7 -18,6 +18,7 @@@ BEGIN push(@INC, dirname($0)); } use strict; +use warnings; use NewsStats qw(:DEFAULT :TimePeriods :Output :SQLHelper ReadGroupList); @@@ -100,8 -99,13 +100,13 @@@ my ($CaptionPeriod,$SQLWherePeriod) = & "please use 'YYYY-MM', 'YYYY-MM:YYYY-MM' or 'ALL'!") if !$CaptionPeriod; # get list of newsgroups and set expression for SQL 'WHERE' clause # with placeholders as well as a list of newsgroup to bind to them - my ($SQLWhereNewsgroups,@SQLBindNewsgroups) = &SQLGroupList($OptNewsgroups) - if $OptNewsgroups;; + my ($SQLWhereNewsgroups,@SQLBindNewsgroups); + if ($OptNewsgroups) { + ($SQLWhereNewsgroups,@SQLBindNewsgroups) = &SQLGroupList($OptNewsgroups); + # bail out if --newsgroups is invalid + &Bleat(2,"--newsgroups option has an invalid format!") + if !$SQLWhereNewsgroups; + } ### build SQL WHERE clause (and HAVING clause, if needed) my ($SQLWhereClause,$SQLHavingClause); @@@ -194,8 -198,8 +199,8 @@@ if ($OptBoundType and $OptBoundType ne $DBQuery = $DBHandle->prepare(sprintf('SELECT %s FROM %s.%s %s %s %s', $SQLSelect, $Conf{'DBDatabase'},$Conf{'DBTableGrps'}, - $SQLWhereClause,$SQLGroupClause,$ - SQLOrderClause)); + $SQLWhereClause,$SQLGroupClause, + $SQLOrderClause)); # execute query $DBQuery->execute(@SQLBindNewsgroups)