diff options
author | relan <relan@users.noreply.github.com> | 2014-02-20 17:40:28 +0000 |
---|---|---|
committer | relan <relan@users.noreply.github.com> | 2015-08-24 08:26:16 +0300 |
commit | 52fefe00176b9b5ddba05fbc4f2d3fcabedb43a0 (patch) | |
tree | b1be18ffce885acc9294d10c69b0f47fe37404ee /fsck | |
parent | 2fbb5dc798bba3a2e15782ba466391496229f32b (diff) | |
download | android_external_exfat-52fefe00176b9b5ddba05fbc4f2d3fcabedb43a0.tar.gz android_external_exfat-52fefe00176b9b5ddba05fbc4f2d3fcabedb43a0.tar.bz2 android_external_exfat-52fefe00176b9b5ddba05fbc4f2d3fcabedb43a0.zip |
Fix missing node put on error paths.
Diffstat (limited to 'fsck')
-rw-r--r-- | fsck/main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fsck/main.c b/fsck/main.c index 615aa9e..bb716e8 100644 --- a/fsck/main.c +++ b/fsck/main.c @@ -76,12 +76,16 @@ static void dirck(struct exfat* ef, const char* path) if (!(parent->flags & EXFAT_ATTRIB_DIR)) exfat_bug("`%s' is not a directory (0x%x)", path, parent->flags); if (nodeck(ef, parent) != 0) + { + exfat_put_node(ef, parent); return; + } path_length = strlen(path); entry_path = malloc(path_length + 1 + UTF8_BYTES(EXFAT_NAME_MAX) + 1); if (entry_path == NULL) { + exfat_put_node(ef, parent); exfat_error("out of memory"); return; } |