File php7-CVE-2020-7062.patch of Package php7

X-Git-Url: http://208.43.231.11:8000/?p=php-src.git;a=blobdiff_plain;f=ext%2Fsession%2Fsession.c;h=092dea81ce26187a536dd01b09fb0a5571e4dcb4;hp=7c7e4841e4fcd94509e5970f03a039a3a113d2c6;hb=e73d8e2627e6e0aa91441ffa745661c6664906f1;hpb=ead40a66785aedaa393f953a0ed9224adaf040cd

diff --git a/ext/session/session.c b/ext/session/session.c
index 7c7e4841e4..092dea81ce 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -3320,10 +3320,12 @@ static int php_session_rfc1867_callback(unsigned int event, void *event_data, vo
 				if (PS(rfc1867_cleanup)) {
 					php_session_rfc1867_cleanup(progress);
 				} else {
-					SEPARATE_ARRAY(&progress->data);
-					add_assoc_bool_ex(&progress->data, "done", sizeof("done") - 1, 1);
-					Z_LVAL_P(progress->post_bytes_processed) = data->post_bytes_processed;
-					php_session_rfc1867_update(progress, 1);
+					if (!Z_ISUNDEF(progress->data)) {
+						SEPARATE_ARRAY(&progress->data);
+						add_assoc_bool_ex(&progress->data, "done", sizeof("done") - 1, 1);
+						Z_LVAL_P(progress->post_bytes_processed) = data->post_bytes_processed;
+						php_session_rfc1867_update(progress, 1);
+					}
 				}
 				php_rshutdown_session_globals();
 			}
openSUSE Build Service is sponsored by