summaryrefslogtreecommitdiffstats
path: root/transcode.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-18 04:22:31 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-18 04:22:31 +0000
commit69f7355be49d98bcfbb1856cdd2ac8a3f601ae60 (patch)
tree87aa44bb16eff57ed1bd2171d0dee429481a63ff /transcode.c
parent164ad361d894c2a3ce429c8789b4dd08d92fa87d (diff)
downloadruby-69f7355be49d98bcfbb1856cdd2ac8a3f601ae60.tar.gz
ruby-69f7355be49d98bcfbb1856cdd2ac8a3f601ae60.tar.xz
ruby-69f7355be49d98bcfbb1856cdd2ac8a3f601ae60.zip
* transcode.c (transcode_search_path): prevent infinite loop by
searching a path for self conversion. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'transcode.c')
-rw-r--r--transcode.c3
1 files changed, 3 insertions, 0 deletions
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;