From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [PATCH] libxc/pm: Fix NULL pointer checks. Date: Tue, 10 Sep 2013 15:03:49 +0200 Message-ID: <522F18B5.6030402@ts.fujitsu.com> References: <1378805379-18700-1-git-send-email-andrew.cooper3@citrix.com> <522F2B5802000078000F1DEF@nat28.tlf.novell.com> <1378817307.21748.110.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1VJNgd-0004V1-43 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2013 13:08:55 +0000 In-Reply-To: <1378817307.21748.110.camel@kazak.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: Andrew Cooper , Ian Jackson , Jan Beulich , xen-devel List-Id: xen-devel@lists.xenproject.org On 10.09.2013 14:48, Ian Campbell wrote: > On Tue, 2013-09-10 at 13:23 +0100, Jan Beulich wrote: >>>>> On 10.09.13 at 11:29, Andrew Cooper wrote: >>> --- a/tools/libxc/xc_pm.c >>> +++ b/tools/libxc/xc_pm.c >>> @@ -285,7 +285,7 @@ int xc_set_cpufreq_gov(xc_interface *xch, int cpuid, char *govname) >>> DECLARE_SYSCTL; >>> char *scaling_governor = sysctl.u.pm_op.u.set_gov.scaling_governor; >>> >>> - if ( (xch < 0) || (!govname) ) >>> + if ( !xch || !govname ) >> >> I'm very surprised the compiler didn't reject this - I'm unaware of >> an extension that would allow pointers to be compared by other >> than == and != (plus it's all but clear what e.g. a "negative" >> pointer really is). > > We were just discussing this at lunch and couldn't work it out either, > but indeed both gcc 4.7.[23] and clang 3.2 accept this when building > with -Wall: > int main(int argc, char **argv) > { > if ( argv[1] < 0 ) > printf("ARGV[1] < 0\n"); > else > printf("ARGV[1] >= 0\n"); > return 0; > } -Wextra is needed to produce an error: http://gcc.gnu.org/onlinedocs/gcc-4.7.3/gcc/Warning-Options.html#Warning-Options Juergen -- Juergen Gross Principal Developer Operating Systems PBG PDG ES&S SWE OS6 Telephone: +49 (0) 89 3222 2967 Fujitsu Technology Solutions e-mail: juergen.gross@ts.fujitsu.com Domagkstr. 28 Internet: ts.fujitsu.com D-80807 Muenchen Company details: ts.fujitsu.com/imprint.html