Check pointer before dereferencing it.
Coverity 1397271
diff --git a/lib/zip_file_set_encryption.c b/lib/zip_file_set_encryption.c
index 9ef09f3..91f9a27 100644
--- a/lib/zip_file_set_encryption.c
+++ b/lib/zip_file_set_encryption.c
@@ -105,7 +105,7 @@
if (e->changes->changed & ZIP_DIRENT_PASSWORD) {
_zip_crypto_clear(e->changes->password, strlen(e->changes->password));
free(e->changes->password);
- e->changes->password = e->orig->password;
+ e->changes->password = e->orig ? e->orig->password : NULL;
e->changes->changed &= ~ZIP_DIRENT_PASSWORD;
}
}