Catch more invalid arguments.
diff --git a/lib/zip_source_window.c b/lib/zip_source_window.c index ca5359c..e23a7ca 100644 --- a/lib/zip_source_window.c +++ b/lib/zip_source_window.c
@@ -198,6 +198,10 @@ case SEEK_SET: new_offset = (zip_int64_t)ctx->start + args->offset; break; + + default: + zip_error_set(&ctx->error, ZIP_ER_INVAL, 0); + return -1; } if (new_offset < (zip_int64_t)ctx->start || (zip_uint64_t)new_offset > ctx->end) {