]> wimlib.net Git - wimlib/blobdiff - src/split.c
wimlib: strict checks for unassigned flags
[wimlib] / src / split.c
index 2688e7f63c2a3496e9e1cbfbdfc6990ad849bc2e..d1317cf9d44f0ce82b810e65b1f53f28852d43c7 100644 (file)
@@ -115,7 +115,7 @@ write_split_wim(WIMStruct *orig_wim, const tchar *swm_name,
                                      &progress);
                }
 
-               part_write_flags = write_flags & WIMLIB_WRITE_MASK_PUBLIC;
+               part_write_flags = write_flags;
                part_write_flags |= WIMLIB_WRITE_FLAG_USE_EXISTING_TOTALBYTES;
                if (part_number != 1)
                        part_write_flags |= WIMLIB_WRITE_FLAG_NO_METADATA;
@@ -211,6 +211,9 @@ wimlib_split(WIMStruct *wim, const tchar *swm_name,
        if (swm_name == NULL || swm_name[0] == T('\0') || part_size == 0)
                return WIMLIB_ERR_INVALID_PARAM;
 
+       if (write_flags & ~WIMLIB_WRITE_MASK_PUBLIC)
+               return WIMLIB_ERR_INVALID_PARAM;
+
        if (!wim_has_metadata(wim))
                return WIMLIB_ERR_METADATA_NOT_FOUND;