diff -ru fontconfig-2.3.94.orig/src/fccache.c fontconfig-2.3.94/src/fccache.c --- fontconfig-2.3.94.orig/src/fccache.c 2006-03-23 13:21:50.000000000 +0100 +++ fontconfig-2.3.94/src/fccache.c 2006-03-23 18:34:44.000000000 +0100 @@ -206,7 +206,7 @@ current_arch_start = FcCacheSkipToArch(cache->fd, current_arch_machine_name); if (current_arch_start < 0) - goto bail_and_destroy; + goto bail1; lseek (cache->fd, current_arch_start, SEEK_SET); if (!FcCacheReadString (cache->fd, candidate_arch_machine_name, @@ -644,6 +644,7 @@ if (strcmp (candidate_arch, arch)==0) return current_arch_start; current_arch_start += bs; + current_arch_start = FcCacheNextOffset (current_arch_start); } return -1;