From: Eric Biggers Date: Sat, 8 Aug 2015 19:52:07 +0000 (-0500) Subject: ntfs-3g_apply.c: add hint about known libntfs-3g bug X-Git-Tag: v1.8.2~13 X-Git-Url: https://wimlib.net/git/?p=wimlib;a=commitdiff_plain;h=c781da7cdafd01a81c3c6b0c99c5d1369f44ce63 ntfs-3g_apply.c: add hint about known libntfs-3g bug --- diff --git a/src/ntfs-3g_apply.c b/src/ntfs-3g_apply.c index 0a3dcaca..07dbdf65 100644 --- a/src/ntfs-3g_apply.c +++ b/src/ntfs-3g_apply.c @@ -30,6 +30,7 @@ # include "config.h" #endif +#include #include #include @@ -415,15 +416,24 @@ ntfs_3g_set_metadata(ntfs_inode *ni, const struct wim_inode *inode, desc_size = sd->sizes[inode->i_security_id]; ret = ntfs_3g_set_security_descriptor(ni, desc, desc_size); - if (ret) { - if (wimlib_print_errors) { - ERROR_WITH_ERRNO("Failed to set security descriptor " - "on \"%s\" in NTFS volume", - dentry_full_path(one_dentry)); + + if (unlikely(ret)) { + int err = errno; + ERROR_WITH_ERRNO("Failed to set security descriptor on " + "\"%s\" in NTFS volume", + dentry_full_path(one_dentry)); + if (err == EINVAL && wimlib_print_errors) { fprintf(wimlib_error_file, "The security descriptor is: "); print_byte_field(desc, desc_size, wimlib_error_file); fprintf(wimlib_error_file, "\n"); + fprintf(wimlib_error_file, + "\nThis error occurred because libntfs-3g thinks " + "the security descriptor is invalid. If you " + "are extracting a Windows 10 image, this may be " + "caused by a known bug in libntfs-3g. See: " + "http://wimlib.net/forums/viewtopic.php?f=1&t=4 " + "for more information.\n\n"); } return ret; }