diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-08-24 06:38:32 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-08-24 06:38:32 -0700 |
commit | 1f7a1d489ebfd6b3ef784005b2a52b327979fc58 (patch) | |
tree | 50e412390e036c056c5bd2381d2e43518511b79a | |
parent | 3270a9ec78b00feb885b65915d020e60dd712a58 (diff) | |
download | txr-1f7a1d489ebfd6b3ef784005b2a52b327979fc58.tar.gz txr-1f7a1d489ebfd6b3ef784005b2a52b327979fc58.tar.bz2 txr-1f7a1d489ebfd6b3ef784005b2a52b327979fc58.zip |
trie filtering: ensure we don't misuse string_extend.
* filter.c (trie_filter_string): If a trie node is associated
with a filter substitute object that isn't a character or
string, then convert that to a string using tostringp.
It could be an integer. If so and we feed that to
string_extend, it will extend the string.
-rw-r--r-- | filter.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -280,6 +280,8 @@ static val trie_filter_string(val filter, val str) } if (match) { + if (!stringp(subst) && chrp(subst)) + subst = tostringp(subst); string_extend(out, subst); i = plus(match, one); } else { |