X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fwrite.c;h=497158999c807fb0ba6c0d0a8831a70f22f5b082;hb=cbaca94ca219aae5ae32a1f083659e1fa421f676;hp=bc821fa7664b2561b5a1c6865644392163ecd0e6;hpb=60b8f54df8fed44136bdc8ec615ee62703d87b69;p=wimlib diff --git a/src/write.c b/src/write.c index bc821fa7..49715899 100644 --- a/src/write.c +++ b/src/write.c @@ -60,6 +60,9 @@ WIMLIBAPI int wimlib_overwrite(WIMStruct *w, int flags) size_t wim_name_len; int ret; + if (!w) + return WIMLIB_ERR_INVALID_PARAM; + wimfile_name = w->filename; DEBUG("Replacing WIM file `%s'.", wimfile_name); @@ -401,10 +404,19 @@ WIMLIBAPI int wimlib_write(WIMStruct *w, const char *path, int image, int flags) { int ret; + if (!w || !path) + return WIMLIB_ERR_INVALID_PARAM; + if (image != WIM_ALL_IMAGES && (image < 1 || image > w->hdr.image_count)) return WIMLIB_ERR_INVALID_IMAGE; + + if (w->hdr.total_parts != 1) { + ERROR("Cannot call wimlib_write() on part of a split WIM"); + return WIMLIB_ERR_SPLIT_UNSUPPORTED; + } + if (image == WIM_ALL_IMAGES) DEBUG("Writing all images to `%s'.", path); else