diff --git a/server/core/hint.c b/server/core/hint.c index 052c02486..0564625a4 100644 --- a/server/core/hint.c +++ b/server/core/hint.c @@ -116,7 +116,7 @@ HINT *hint; return head; hint->next = head; hint->type = HINT_PARAMETER; - hint->data = pname; + hint->data = strdup(pname); hint->value = strdup(value); return hint; } @@ -151,4 +151,4 @@ bool hint_exists( p_hint = &(*p_hint)->next; } return succp; -} \ No newline at end of file +} diff --git a/server/core/test/testhint.c b/server/core/test/testhint.c index b615baced..3ec5d9953 100644 --- a/server/core/test/testhint.c +++ b/server/core/test/testhint.c @@ -49,7 +49,7 @@ HINT *hint; hint = hint_create_parameter(NULL, strdup("name"), "value"); ss_info_dassert(NULL != hint, "New hint list should not be null"); ss_info_dassert(0 == strcmp("value", hint->value), "Hint value should be correct"); - ss_info_dassert(0 != hint_exists(hint, HINT_PARAMETER), "Hint of parameter type should exist"); + ss_info_dassert(0 != hint_exists(&hint, HINT_PARAMETER), "Hint of parameter type should exist"); ss_dfprintf(stderr, "\t..done\nFree hints."); if (NULL != hint) hint_free(hint); ss_dfprintf(stderr, "\t..done\n");