X-Git-Url: https://git.sven.stormbind.net/?p=sven%2Fexfat-utils.git;a=blobdiff_plain;f=libexfat%2Flookup.c;h=23aa1415a1ce39aff7d6378ddee2d7d93ba1def5;hp=30b64108df127d8b112de346fa019cf1e51b36d7;hb=131f1e366cc229964e2ef8036b60229ea1f56af9;hpb=d99d52ff73deacfe427403765682015d5825799b diff --git a/libexfat/lookup.c b/libexfat/lookup.c index 30b6410..23aa141 100644 --- a/libexfat/lookup.c +++ b/libexfat/lookup.c @@ -3,7 +3,7 @@ exFAT file system implementation library. Free exFAT implementation. - Copyright (C) 2010-2016 Andrew Nayenko + Copyright (C) 2010-2018 Andrew Nayenko This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -46,7 +46,7 @@ void exfat_closedir(struct exfat* ef, struct exfat_iterator* it) it->current = NULL; } -struct exfat_node* exfat_readdir(struct exfat* ef, struct exfat_iterator* it) +struct exfat_node* exfat_readdir(struct exfat_iterator* it) { if (it->current == NULL) it->current = it->parent->child; @@ -86,14 +86,14 @@ static int lookup_name(struct exfat* ef, struct exfat_node* parent, *node = NULL; - rc = utf8_to_utf16(buffer, name, EXFAT_NAME_MAX, n); + rc = utf8_to_utf16(buffer, name, EXFAT_NAME_MAX + 1, n); if (rc != 0) return rc; rc = exfat_opendir(ef, parent, &it); if (rc != 0) return rc; - while ((*node = exfat_readdir(ef, &it))) + while ((*node = exfat_readdir(&it))) { if (compare_name(ef, buffer, (*node)->name) == 0) { @@ -194,7 +194,7 @@ int exfat_split(struct exfat* ef, struct exfat_node** parent, exfat_put_node(ef, *parent); return -ENOENT; } - rc = utf8_to_utf16(name, p, EXFAT_NAME_MAX, n); + rc = utf8_to_utf16(name, p, EXFAT_NAME_MAX + 1, n); if (rc != 0) { exfat_put_node(ef, *parent);