diff options
author | David Robillard <d@drobilla.net> | 2011-06-11 20:52:22 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-06-11 20:52:22 +0000 |
commit | 555ac8bd15e17d52bbd04f78de71e03e131e7a48 (patch) | |
tree | 213dbf32522e1542ca61423542fb80d7cab64934 | |
parent | fa52fa53605a91ba3507138dfa64fae35a59415b (diff) | |
download | sord-555ac8bd15e17d52bbd04f78de71e03e131e7a48.tar.gz sord-555ac8bd15e17d52bbd04f78de71e03e131e7a48.tar.bz2 sord-555ac8bd15e17d52bbd04f78de71e03e131e7a48.zip |
Fix potential use of uninitialized value
git-svn-id: http://svn.drobilla.net/sord/trunk@150 3d64ff67-21c5-427c-a301-fe4f08042e5a
-rw-r--r-- | src/sord.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -514,7 +514,7 @@ sord_best_index(SordModel* sord, const SordQuad pat, SearchMode* mode, int* n_pr + (pat[1] ? 1 : 0) * 0x010 + (pat[2] ? 1 : 0) * 0x001; - SordOrder good[2]; + SordOrder good[2] = { (SordOrder)-1, (SordOrder)-1 }; // Good orderings that don't require filtering *mode = RANGE; @@ -530,10 +530,12 @@ sord_best_index(SordModel* sord, const SordQuad pat, SearchMode* mode, int* n_pr case 0x111: *mode = SINGLE; return graph_search ? DEFAULT_GRAPH_ORDER : DEFAULT_ORDER; } - if (sord_has_index(sord, &good[0], n_prefix, graph_search)) { - return good[0]; - } else if (sord_has_index(sord, &good[1], n_prefix, graph_search)) { - return good[1]; + if (*mode == RANGE) { + if (sord_has_index(sord, &good[0], n_prefix, graph_search)) { + return good[0]; + } else if (sord_has_index(sord, &good[1], n_prefix, graph_search)) { + return good[1]; + } } // Not so good orderings that require filtering, but can |