summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@coaxion.net>2019-09-24 17:52:15 +0000
committerSebastian Dröge <slomo@coaxion.net>2019-09-24 17:52:15 +0000
commit03e3a0396e3525ec2dadfbe3bcd8c525afa8bfc7 (patch)
tree41dce0afa0c727d7f95c05ddd1674f46bd90a8ae
parenta96c449d6fb0fd67d8757f73b2a84028a30e195b (diff)
parentf4dd85628af916b58aaead3e8dd25d14d1a7cb95 (diff)
downloadglib-03e3a0396e3525ec2dadfbe3bcd8c525afa8bfc7.tar.gz
Merge branch 'ossfuzz-17648-date-uninit-variable' into 'master'
gdatetime: Fix error handling in g_date_time_new_week() See merge request GNOME/glib!1125
-rw-r--r--glib/gdatetime.c2
-rw-r--r--glib/tests/gdatetime.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/glib/gdatetime.c b/glib/gdatetime.c
index 4557e3c76..3be4eba3d 100644
--- a/glib/gdatetime.c
+++ b/glib/gdatetime.c
@@ -1241,6 +1241,8 @@ g_date_time_new_week (GTimeZone *tz, gint year, gint week, gint week_day, gint h
return NULL;
dt = g_date_time_new (tz, year, 1, 4, 0, 0, 0);
+ if (dt == NULL)
+ return NULL;
g_date_time_get_week_number (dt, NULL, &jan4_week_day, NULL);
g_date_time_unref (dt);
diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
index d148cf528..4ecccb347 100644
--- a/glib/tests/gdatetime.c
+++ b/glib/tests/gdatetime.c
@@ -868,6 +868,7 @@ test_GDateTime_new_from_iso8601_2 (void)
*/
{ FALSE, "1719W462 407777-07", 0, 0, 0, 0, 0, 0, 0, 0 },
{ FALSE, "4011090 260528Z", 0, 0, 0, 0, 0, 0, 0, 0 },
+ { FALSE, "0000W011 228214-22", 0, 0, 0, 0, 0, 0, 0, 0 },
};
GTimeZone *tz = NULL;
GDateTime *dt = NULL;