gdatetime: Fix error handling in g_date_time_new_ordinal()
It was possible to pass in (for example) an invalid hour to
g_date_time_new_ordinal(), which would be passed on to
g_date_time_new(), which would (correctly) return NULL
— but then
g_date_time_new_ordinal() would try to dereference that.
Includes some test cases.
oss-fuzz#16103 oss-fuzz#17183
Signed-off-by: Philip Withnall withnall@endlessm.com