
hi -

jetvtxtrackhelper can read uninitialized memory.

in matchtrkvtxjet, we have:

+verbatim+
  trkposvtx_t trkvtx = trackinfo( trk );
  ...
  result.matchedvtx = trkvtx.vertex ;
  result.jetmatched = deltar2(trkvtx.eta, trkvtx.phi, jet_eta, jet_phi)&lt; m_deltar2;
-verbatim-

but if trackinfo doesn't find a match, it will return trkvtx
with vertex null, but eta and phi left uninitialized.  we then
pass this uninitialized data to deltar2, which could then crash
with a fpe.

this fixes it, though one might also consider adding a default
ctor to trkposvtx_t to make sure all of its members are initialized.

+verbatim+
index: src/jetvtxtrackhelper.cxx
===================================================================
--- src/jetvtxtrackhelper.cxx   (revision 351304)
+++ src/jetvtxtrackhelper.cxx   (working copy)
@@ -195,7 +195,7 @@
 
 
   result.matchedvtx = trkvtx.vertex ;
-  result.jetmatched = deltar2(trkvtx.eta, trkvtx.phi, jet_eta, jet_phi)&lt; m_deltar2;
+  result.jetmatched = trkvtx.vertex &amp;&amp; deltar2(trkvtx.eta, trkvtx.phi, jet_eta, jet_phi)&lt; m_deltar2;
 
   ath_msg(debug) &lt;&lt; &quot;   jet : &quot;&lt;&lt; jet_eta &lt;&lt; &quot;,&quot;&lt;&lt; jet_phi
-verbatim-
