[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] libxc/pm: Fix NULL pointer checks.


  • To: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
  • From: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
  • Date: Tue, 10 Sep 2013 15:03:49 +0200
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 10 Sep 2013 13:09:06 +0000
  • Domainkey-signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Message-ID:Date:From:Organization:User-Agent: MIME-Version:To:CC:Subject:References:In-Reply-To: Content-Type:Content-Transfer-Encoding; b=FBneROPGANqjAkqvrtxp7FT+RztHBFL/Fzhq+J/hdBcpk1agkadrK12m cPTDAlF2k3MwtqqVklaGgOzS7HXPEHRNefjjo/3Btffqbv92JJ+vmKiFC PI5ks9S6gl6a5SQ9I4OlwpVCeb20K4pAP1IpKkBj0cHd3PhwXTYST9QHc YxxKBLFfagY+lPAgKPTHBrR0a485uKx/nwsmvDCF+RrKL9PbLp0LUakTd WxWjWzGkXsj99/jRvmNKbfIq9uqEZ;
  • List-id: Xen developer discussion <xen-devel.lists.xen.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 <andrew.cooper3@xxxxxxxxxx> 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@xxxxxxxxxxxxxx
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.