The attached patch fixes "Conditional jump or move depends on uninitialised
value(s)" issues reported by Valgrind for gsl_sf_hyperg_U_int_e
and gsl_sf_hyperg_U_e:

==10010== Conditional jump or move depends on uninitialised value(s)
==10010==    at 0x74F2B9: gsl_sf_result_smash_e (result.c:32)
==10010==    by 0x732F0E: gsl_sf_hyperg_U_int_e (hyperg_U.c:1719)

==10010== Conditional jump or move depends on uninitialised value(s)
==10010==    at 0x74F2B9: gsl_sf_result_smash_e (result.c:32)
==10010==    by 0x732F6D: gsl_sf_hyperg_U_e (hyperg_U.c:1729)

The problem is that gsl_sf_result_smash_e tests if re->e10 == 0
while re->e10 have not been initialized by gsl_sf_hyperg_U_e
and gsl_sf_hyperg_U_int_e. Apart from the errors reported by Valgrind this
may result in incorrect errors returned by these functions.

Best regards,
Victor

Attachment: 0001-Initialize-the-gsl_sf_result_e10-objects.patch
Description: Binary data

Reply via email to