From cc144adabf2916ad16ff9dbd6cc291913784d009 Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Tue, 9 Jul 2013 16:09:31 +0100 Subject: [PATCH] idnode: fix sorting due to use of potentially static return values. --- src/idnode.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/idnode.c b/src/idnode.c index de79ab6f..e6871568 100644 --- a/src/idnode.c +++ b/src/idnode.c @@ -375,12 +375,15 @@ idnode_cmp_sort switch (p->type) { case PT_STR: { - const char *stra = idnode_get_str(ina, sort->key); + int r; + char *stra = strdup(idnode_get_str(ina, sort->key) ?: ""); const char *strb = idnode_get_str(inb, sort->key); if (sort->dir == IS_ASC) - return strcmp(stra ?: "", strb ?: ""); + r = strcmp(stra ?: "", strb ?: ""); else - return strcmp(strb ?: "", stra ?: ""); + r = strcmp(strb ?: "", stra ?: ""); + free(stra); + return r; } break; case PT_INT: