[recipes] Be more careful about NULL when handling strings
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [recipes] Be more careful about NULL when handling strings
- Date: Wed, 22 Feb 2017 14:32:48 +0000 (UTC)
commit 10639da722846bf151bcd95d82326484dd4e21e8
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Feb 22 09:29:01 2017 -0500
Be more careful about NULL when handling strings
There were some critical warnings seen that look like they
came from translating properties here.
src/gr-recipe.c | 53 +++++++++++++++++++++++++++++++----------------------
1 files changed, 31 insertions(+), 22 deletions(-)
---
diff --git a/src/gr-recipe.c b/src/gr-recipe.c
index 8d27b22..0ce78c3 100644
--- a/src/gr-recipe.c
+++ b/src/gr-recipe.c
@@ -280,20 +280,26 @@ gr_recipe_set_property (GObject *object,
break;
case PROP_NAME:
- g_free (self->name);
- g_free (self->cf_name);
+ g_clear_pointer (&self->name, g_free);
+ g_clear_pointer (&self->translated_name, g_free);
+ g_clear_pointer (&self->cf_name, g_free);
self->name = g_value_dup_string (value);
- self->translated_name = translate_multiline_string (self->name);
- self->cf_name = g_utf8_casefold (self->translated_name, -1);
+ if (self->name) {
+ self->translated_name = translate_multiline_string (self->name);
+ self->cf_name = g_utf8_casefold (self->translated_name, -1);
+ }
update_mtime (self);
break;
case PROP_DESCRIPTION:
- g_free (self->description);
- g_free (self->cf_description);
+ g_clear_pointer (&self->description, g_free);
+ g_clear_pointer (&self->translated_description, g_free);
+ g_clear_pointer (&self->cf_description, g_free);
self->description = g_value_dup_string (value);
- self->translated_description = translate_multiline_string (self->description);
- self->cf_description = g_utf8_casefold (self->translated_description, -1);
+ if (self->description) {
+ self->translated_description = translate_multiline_string (self->description);
+ self->cf_description = g_utf8_casefold (self->translated_description, -1);
+ }
update_mtime (self);
break;
@@ -348,32 +354,35 @@ gr_recipe_set_property (GObject *object,
break;
case PROP_INGREDIENTS:
- {
- g_autofree char *cf_garlic = NULL;
+ g_clear_pointer (&self->ingredients, g_free);
+ g_clear_pointer (&self->cf_ingredients, g_free);
+ self->garlic = FALSE;
- g_free (self->ingredients);
- g_free (self->cf_ingredients);
self->ingredients = g_value_dup_string (value);
- self->cf_ingredients = g_utf8_casefold (self->ingredients, -1);
-
- cf_garlic = g_utf8_casefold ("Garlic", -1);
- self->garlic = (strstr (self->cf_ingredients, cf_garlic) != NULL);
- update_mtime (self);
+ if (self->ingredients) {
+ g_autofree char *cf_garlic = NULL;
+ self->cf_ingredients = g_utf8_casefold (self->ingredients, -1);
+ cf_garlic = g_utf8_casefold ("Garlic", -1);
+ self->garlic = (strstr (self->cf_ingredients, cf_garlic) != NULL);
}
+ update_mtime (self);
break;
case PROP_INSTRUCTIONS:
- g_free (self->instructions);
+ g_clear_pointer (&self->instructions, g_free);
+ g_clear_pointer (&self->translated_instructions, g_free);
self->instructions = g_value_dup_string (value);
- self->translated_instructions = translate_multiline_string (self->instructions);
+ if (self->instructions)
+ self->translated_instructions = translate_multiline_string (self->instructions);
update_mtime (self);
break;
case PROP_NOTES:
- g_free (self->notes);
- g_free (self->translated_notes);
+ g_clear_pointer (&self->notes, g_free);
+ g_clear_pointer (&self->translated_notes, g_free);
self->notes = g_value_dup_string (value);
- self->translated_notes = translate_multiline_string (self->notes);
+ if (self->notes)
+ self->translated_notes = translate_multiline_string (self->notes);
update_mtime (self);
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]