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) {