-rw-r--r-- | noncore/apps/opie-reader/chm_lib.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/noncore/apps/opie-reader/chm_lib.c b/noncore/apps/opie-reader/chm_lib.c index ecf8278..7acd1d2 100644 --- a/noncore/apps/opie-reader/chm_lib.c +++ b/noncore/apps/opie-reader/chm_lib.c | |||
@@ -1599,9 +1599,9 @@ int chm_enumerate_dir(struct chmFile *h, | |||
1599 | 1599 | ||
1600 | /* the length of the prefix */ | 1600 | /* the length of the prefix */ |
1601 | char prefixRectified[CHM_MAX_PATHLEN+1]; | 1601 | char prefixRectified[CHM_MAX_PATHLEN+1]; |
1602 | int prefixLen; | 1602 | int prefixLen; |
1603 | char lastPath[CHM_MAX_PATHLEN]; | 1603 | char lastPath[CHM_MAX_PATHLEN+1]; |
1604 | int lastPathLen; | 1604 | int lastPathLen; |
1605 | 1605 | ||
1606 | /* starting page */ | 1606 | /* starting page */ |
1607 | curPage = h->index_head; | 1607 | curPage = h->index_head; |
@@ -1669,9 +1669,10 @@ int chm_enumerate_dir(struct chmFile *h, | |||
1669 | { | 1669 | { |
1670 | if (strncmp(ui.path, lastPath, lastPathLen) == 0) | 1670 | if (strncmp(ui.path, lastPath, lastPathLen) == 0) |
1671 | continue; | 1671 | continue; |
1672 | } | 1672 | } |
1673 | strcpy(lastPath, ui.path); | 1673 | strncpy(lastPath, ui.path, CHM_MAX_PATHLEN); |
1674 | lastPath[CHM_MAX_PATHLEN] = '\0'; | ||
1674 | lastPathLen = strlen(lastPath); | 1675 | lastPathLen = strlen(lastPath); |
1675 | 1676 | ||
1676 | /* check for DIRS */ | 1677 | /* check for DIRS */ |
1677 | if (ui.length == 0 && !(what & CHM_ENUMERATE_DIRS)) | 1678 | if (ui.length == 0 && !(what & CHM_ENUMERATE_DIRS)) |