9 dephects on prob_distr.c (April 2019)
Similar to legacy/trac#29805, coverity is again furious at prob distr: We got a bunch of these: ``` _____________________________________________________________________________________________ *** CID 1444030: Incorrect expression (SIZEOF_MISMATCH) /src/test/test_prob_distr.c: 1254 in test_stochastic_weibull_impl() 1248 } 1249 1250 static bool 1251 test_stochastic_weibull_impl(double lambda, double k) 1252 { 1253 const struct weibull dist = { >>> CID 1444030: Incorrect expression (SIZEOF_MISMATCH) >>> Adding "0UL /* 0 * sizeof (&dist - (struct weibull const *)&dist) */" to pointer "&weibull_ops" of type "struct dist_ops const *" is >>> suspicious because adding an integral value to this pointer automatically scales that value by the size, 48 bytes, of the pointed-to type, >>> "struct dist_ops const". Most likely, the multiplication by "sizeof (0L)" in this expression is extraneous and should be eliminated. 1254 .base = WEIBULL(dist), 1255 .lambda = lambda, 1256 .k = k, 1257 }; 1258 1259 /* ``` and a bunch of these: ``` ________________________________________________________________________________________________ *** CID 1415723: Incorrect expression (DIVIDE_BY_ZERO) /src/feature/client/circpathbias.c: 194 in pathbias_get_scale_ratio() 188 (void) options; 189 /** 190 * The mult factor is the numerator for our scaling 191 * of circuit counts for our path bias window. It 192 * allows us to scale by fractions. 193 */ >>> CID 1415723: Incorrect expression (DIVIDE_BY_ZERO) >>> In expression "networkstatus_get_param(NULL, "pb_multfactor", 1, 1, denominator) / (double)denominator", division by expression >>> "denominator" which may be zero has undefined behavior. 194 return networkstatus_get_param(NULL, "pb_multfactor", 195 1, 1, denominator)/((double)denominator); 196 } 197 198 /** The minimum number of circuit usage attempts before we start 199 * thinking about warning about path use bias and dropping guards */ ```
issue