Check pointer before dereferencing it.
Coverity CID-1397271
diff --git a/lib/zip_file_set_encryption.c b/lib/zip_file_set_encryption.c
index e604e6f..a7ed748 100644
--- a/lib/zip_file_set_encryption.c
+++ b/lib/zip_file_set_encryption.c
@@ -67,7 +67,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 == NULL ? NULL : e->orig->password);
}
e->changes->changed &= ~(ZIP_DIRENT_ENCRYPTION_METHOD|ZIP_DIRENT_PASSWORD);
if (e->changes->changed == 0) {