[epiphany] safe-browsing: Replace sscanf() with g_ascii_strto*()
- From: Gabriel Ivașcu <gabrielivascu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] safe-browsing: Replace sscanf() with g_ascii_strto*()
- Date: Thu, 16 Nov 2017 11:44:12 +0000 (UTC)
commit ee2ba31154a07521b90ba1ac6f4f79bf9993d666
Author: Gabriel Ivascu <gabrielivascu gnome org>
Date: Thu Nov 16 13:43:34 2017 +0200
safe-browsing: Replace sscanf() with g_ascii_strto*()
lib/safe-browsing/ephy-gsb-service.c | 13 ++++++++-----
lib/safe-browsing/ephy-gsb-utils.c | 2 +-
2 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/lib/safe-browsing/ephy-gsb-service.c b/lib/safe-browsing/ephy-gsb-service.c
index acac943..f5046a9 100644
--- a/lib/safe-browsing/ephy-gsb-service.c
+++ b/lib/safe-browsing/ephy-gsb-service.c
@@ -352,8 +352,8 @@ ephy_gsb_service_update_thread (GTask *task,
double duration;
duration_str = json_object_get_string_member (body_obj, "minimumWaitDuration");
- /* Handle the trailing 's' character. */
- sscanf (duration_str, "%lfs", &duration);
+ /* g_ascii_strtod() ignores trailing characters, i.e. 's' character. */
+ duration = g_ascii_strtod (duration_str, &end);
self->next_list_updates_time = CURRENT_TIME + (gint64)ceil (duration);
}
@@ -640,7 +640,8 @@ ephy_gsb_service_update_full_hashes_sync (EphyGSBService *self,
list = ephy_gsb_threat_list_new (threat_type, platform_type, threat_entry_type, NULL);
hash = g_base64_decode (hash_b64, &length);
positive_duration = json_object_get_string_member (match, "cacheDuration");
- sscanf (positive_duration, "%lfs", &duration);
+ /* g_ascii_strtod() ignores trailing characters, i.e. 's' character. */
+ duration = g_ascii_strtod (positive_duration, NULL);
ephy_gsb_storage_insert_full_hash (self->storage, list, hash, floor (duration));
@@ -651,14 +652,16 @@ ephy_gsb_service_update_full_hashes_sync (EphyGSBService *self,
/* Update negative cache duration. */
duration_str = json_object_get_string_member (body_obj, "negativeCacheDuration");
- sscanf (duration_str, "%lfs", &duration);
+ /* g_ascii_strtod() ignores trailing characters, i.e. 's' character. */
+ duration = g_ascii_strtod (duration_str, NULL);
for (GList *l = prefixes; l && l->data; l = l->next)
ephy_gsb_storage_update_hash_prefix_expiration (self->storage, l->data, floor (duration));
/* Handle minimum wait duration. */
if (json_object_has_non_null_string_member (body_obj, "minimumWaitDuration")) {
duration_str = json_object_get_string_member (body_obj, "minimumWaitDuration");
- sscanf (duration_str, "%lfs", &duration);
+ /* g_ascii_strtod() ignores trailing characters, i.e. 's' character. */
+ duration = g_ascii_strtod (duration_str, NULL);
self->next_full_hashes_time = CURRENT_TIME + (gint64)ceil (duration);
ephy_gsb_storage_set_metadata (self->storage, "next_full_hashes_time", self->next_full_hashes_time);
}
diff --git a/lib/safe-browsing/ephy-gsb-utils.c b/lib/safe-browsing/ephy-gsb-utils.c
index a4e4ed1..06d6d37 100644
--- a/lib/safe-browsing/ephy-gsb-utils.c
+++ b/lib/safe-browsing/ephy-gsb-utils.c
@@ -489,7 +489,7 @@ ephy_gsb_utils_rice_delta_decode (JsonObject *rde,
*num_items = 1 + num_entries;
items = g_malloc (*num_items * sizeof (guint32));
- sscanf (first_value_str, "%u", &items[0]);
+ items[0] = g_ascii_strtoull (first_value_str, NULL, 10);
if (num_entries == 0)
return items;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]