summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--transcode.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0544d916f..8d659e8da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Aug 18 13:21:38 2008 Tanaka Akira <akr@fsij.org>
+
+ * transcode.c (transcode_search_path): prevent infinite loop by
+ searching a path for self conversion.
+
Mon Aug 18 12:45:24 2008 Tanaka Akira <akr@fsij.org>
* io.c (io_enc_str): code conversion removed.
diff --git a/transcode.c b/transcode.c
index 32e3d082a..33b1c7fc9 100644
--- a/transcode.c
+++ b/transcode.c
@@ -165,6 +165,9 @@ transcode_search_path(const char *from, const char *to,
int found;
int pathlen;
+ if (encoding_equal(from, to))
+ return -1;
+
q = ALLOC(search_path_queue_t);
q->enc = from;
q->next = NULL;