diff options
author | Elliott Sales de Andrade <qulogic@pidgin.im> | 2019-08-07 01:15:14 -0400 |
---|---|---|
committer | Elliott Sales de Andrade <qulogic@pidgin.im> | 2019-08-07 01:15:14 -0400 |
commit | d865756c84df42d176db935f07fde428ca2080b4 (patch) | |
tree | 171018273a1901d6f77c06c94cf3b90d67e3fdb0 /libpurple/blistnode.c | |
parent | 9a491a5be0a65c2f69c23e7973aef79ac73944c8 (diff) | |
download | pidgin-d865756c84df42d176db935f07fde428ca2080b4.tar.gz |
Fix broken `priv != NULL` checks in libpurple.
The `*_get_instance_private` function just returns input value + offset,
so it is impossible for `priv` to be `NULL`.
Diffstat (limited to 'libpurple/blistnode.c')
-rw-r--r-- | libpurple/blistnode.c | 90 |
1 files changed, 49 insertions, 41 deletions
diff --git a/libpurple/blistnode.c b/libpurple/blistnode.c index 6816de5f37..b655620345 100644 --- a/libpurple/blistnode.c +++ b/libpurple/blistnode.c @@ -114,13 +114,14 @@ purple_blist_node_set_ui_data(PurpleBlistNode *node, void *ui_data) { void purple_blist_node_remove_setting(PurpleBlistNode *node, const char *key) { - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); + PurpleBlistNodePrivate *priv = NULL; - g_return_if_fail(priv != NULL); - g_return_if_fail(priv->settings != NULL); + g_return_if_fail(PURPLE_IS_BLIST_NODE(node)); g_return_if_fail(key != NULL); + priv = purple_blist_node_get_instance_private(node); + g_return_if_fail(priv->settings != NULL); + g_hash_table_remove(priv->settings, key); purple_blist_save_node(purple_blist_get_default(), node); @@ -129,11 +130,11 @@ void purple_blist_node_remove_setting(PurpleBlistNode *node, const char *key) void purple_blist_node_set_transient(PurpleBlistNode *node, gboolean transient) { - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); + PurpleBlistNodePrivate *priv = NULL; - g_return_if_fail(priv != NULL); + g_return_if_fail(PURPLE_IS_BLIST_NODE(node)); + priv = purple_blist_node_get_instance_private(node); priv->transient = transient; g_object_notify_by_pspec(G_OBJECT(node), @@ -143,35 +144,36 @@ purple_blist_node_set_transient(PurpleBlistNode *node, gboolean transient) gboolean purple_blist_node_is_transient(PurpleBlistNode *node) { - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); + PurpleBlistNodePrivate *priv = NULL; - g_return_val_if_fail(priv != NULL, 0); + g_return_val_if_fail(PURPLE_IS_BLIST_NODE(node), 0); + priv = purple_blist_node_get_instance_private(node); return priv->transient; } GHashTable * purple_blist_node_get_settings(PurpleBlistNode *node) { - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); + PurpleBlistNodePrivate *priv = NULL; - g_return_val_if_fail(priv != NULL, NULL); + g_return_val_if_fail(PURPLE_IS_BLIST_NODE(node), NULL); + priv = purple_blist_node_get_instance_private(node); return priv->settings; } gboolean purple_blist_node_has_setting(PurpleBlistNode* node, const char *key) { - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); + PurpleBlistNodePrivate *priv = NULL; - g_return_val_if_fail(priv != NULL, FALSE); - g_return_val_if_fail(priv->settings != NULL, FALSE); + g_return_val_if_fail(PURPLE_IS_BLIST_NODE(node), FALSE); g_return_val_if_fail(key != NULL, FALSE); + priv = purple_blist_node_get_instance_private(node); + g_return_val_if_fail(priv->settings != NULL, FALSE); + /* Boxed type, so it won't ever be NULL, so no need for _extended */ return (g_hash_table_lookup(priv->settings, key) != NULL); } @@ -179,14 +181,15 @@ purple_blist_node_has_setting(PurpleBlistNode* node, const char *key) void purple_blist_node_set_bool(PurpleBlistNode* node, const char *key, gboolean data) { + PurpleBlistNodePrivate *priv = NULL; GValue *value; - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); - g_return_if_fail(priv != NULL); - g_return_if_fail(priv->settings != NULL); + g_return_if_fail(PURPLE_IS_BLIST_NODE(node)); g_return_if_fail(key != NULL); + priv = purple_blist_node_get_instance_private(node); + g_return_if_fail(priv->settings != NULL); + value = purple_value_new(G_TYPE_BOOLEAN); g_value_set_boolean(value, data); @@ -198,14 +201,15 @@ purple_blist_node_set_bool(PurpleBlistNode* node, const char *key, gboolean data gboolean purple_blist_node_get_bool(PurpleBlistNode* node, const char *key) { + PurpleBlistNodePrivate *priv = NULL; GValue *value; - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); - g_return_val_if_fail(priv != NULL, FALSE); - g_return_val_if_fail(priv->settings != NULL, FALSE); + g_return_val_if_fail(PURPLE_IS_BLIST_NODE(node), FALSE); g_return_val_if_fail(key != NULL, FALSE); + priv = purple_blist_node_get_instance_private(node); + g_return_val_if_fail(priv->settings != NULL, FALSE); + value = g_hash_table_lookup(priv->settings, key); if (value == NULL) @@ -219,14 +223,15 @@ purple_blist_node_get_bool(PurpleBlistNode* node, const char *key) void purple_blist_node_set_int(PurpleBlistNode* node, const char *key, int data) { + PurpleBlistNodePrivate *priv = NULL; GValue *value; - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); - g_return_if_fail(priv != NULL); - g_return_if_fail(priv->settings != NULL); + g_return_if_fail(PURPLE_IS_BLIST_NODE(node)); g_return_if_fail(key != NULL); + priv = purple_blist_node_get_instance_private(node); + g_return_if_fail(priv->settings != NULL); + value = purple_value_new(G_TYPE_INT); g_value_set_int(value, data); @@ -238,14 +243,15 @@ purple_blist_node_set_int(PurpleBlistNode* node, const char *key, int data) int purple_blist_node_get_int(PurpleBlistNode* node, const char *key) { + PurpleBlistNodePrivate *priv = NULL; GValue *value; - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); - g_return_val_if_fail(priv != NULL, 0); - g_return_val_if_fail(priv->settings != NULL, 0); + g_return_val_if_fail(PURPLE_IS_BLIST_NODE(node), 0); g_return_val_if_fail(key != NULL, 0); + priv = purple_blist_node_get_instance_private(node); + g_return_val_if_fail(priv->settings != NULL, 0); + value = g_hash_table_lookup(priv->settings, key); if (value == NULL) @@ -259,14 +265,15 @@ purple_blist_node_get_int(PurpleBlistNode* node, const char *key) void purple_blist_node_set_string(PurpleBlistNode* node, const char *key, const char *data) { + PurpleBlistNodePrivate *priv = NULL; GValue *value; - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); - g_return_if_fail(priv != NULL); - g_return_if_fail(priv->settings != NULL); + g_return_if_fail(PURPLE_IS_BLIST_NODE(node)); g_return_if_fail(key != NULL); + priv = purple_blist_node_get_instance_private(node); + g_return_if_fail(priv->settings != NULL); + value = purple_value_new(G_TYPE_STRING); g_value_set_string(value, data); @@ -278,14 +285,15 @@ purple_blist_node_set_string(PurpleBlistNode* node, const char *key, const char const char * purple_blist_node_get_string(PurpleBlistNode* node, const char *key) { + PurpleBlistNodePrivate *priv = NULL; GValue *value; - PurpleBlistNodePrivate *priv = - purple_blist_node_get_instance_private(node); - g_return_val_if_fail(priv != NULL, NULL); - g_return_val_if_fail(priv->settings != NULL, NULL); + g_return_val_if_fail(PURPLE_IS_BLIST_NODE(node), NULL); g_return_val_if_fail(key != NULL, NULL); + priv = purple_blist_node_get_instance_private(node); + g_return_val_if_fail(priv->settings != NULL, NULL); + value = g_hash_table_lookup(priv->settings, key); if (value == NULL) |