Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Mar 2018 20:43:40 +0000 (UTC)
From:      Conrad Meyer <cem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r331073 - head/cddl/contrib/opensolaris/lib/libdtrace/common
Message-ID:  <201803162043.w2GKheIG032654@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cem
Date: Fri Mar 16 20:43:40 2018
New Revision: 331073
URL: https://svnweb.freebsd.org/changeset/base/331073

Log:
  libdtrace: Eliminate a minor UB by fully initializing parameter struct
  
  The dtt_flags value is dereferenced by dt_type_pointer() and must be
  initialized first.
  
  Reported by:	Coverity
  Sponsored by:	Dell EMC Isilon

Modified:
  head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.c

Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.c
==============================================================================
--- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.c	Fri Mar 16 20:04:52 2018	(r331072)
+++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.c	Fri Mar 16 20:43:40 2018	(r331073)
@@ -3069,9 +3069,10 @@ dt_cook_op1(dt_node_t *dnp, uint_t idflags)
 			    "cannot take address of bit-field\n");
 		}
 
-		dtt.dtt_object = NULL;
-		dtt.dtt_ctfp = cp->dn_ctfp;
-		dtt.dtt_type = cp->dn_type;
+		dtt = (dtrace_typeinfo_t){
+			.dtt_ctfp = cp->dn_ctfp,
+			.dtt_type = cp->dn_type,
+		};
 
 		if (dt_type_pointer(&dtt) == -1) {
 			xyerror(D_TYPE_ERR, "cannot find type for \"&\": %s*\n",



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803162043.w2GKheIG032654>