File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,10 @@ PHP                                                                        NEWS
1010  . Fixed bug GH-19245 (Success error message on TLS stream accept failure).
1111    (Jakub Zelenka)
1212
13+ - PGSQL:
14+   . Fixed bug GH-19485 (potential use after free when using persistent pgsql
15+     connections). (Mark Karpeles)
16+ 
1317- Standard:
1418  . Fixed bug GH-16649 (UAF during array_splice). (alexandre-daubois)
1519
Original file line number Diff line number Diff line change @@ -328,6 +328,10 @@ static void _close_pgsql_plink(zend_resource *rsrc)
328328
329329static  void  _php_pgsql_notice_handler (void  * l , const  char  * message )
330330{
331+ 	if  (l  ==  NULL ) {
332+ 		/* This connection does not currently have a valid context, ignore this notice */ 
333+ 		return ;
334+ 	}
331335	if  (PGG (ignore_notices )) {
332336		return ;
333337	}
@@ -360,6 +364,11 @@ static int _rollback_transactions(zval *el)
360364
361365	link  =  (PGconn  * ) rsrc -> ptr ;
362366
367+ 	/* unset notice processor if we initially did set it */ 
368+ 	if  (PQsetNoticeProcessor (link , NULL , NULL ) ==  _php_pgsql_notice_handler ) {
369+ 		PQsetNoticeProcessor (link , _php_pgsql_notice_handler , NULL );
370+ 	}
371+ 
363372	if  (PQsetnonblocking (link , 0 )) {
364373		php_error_docref ("ref.pgsql" , E_NOTICE , "Cannot set connection to blocking mode" );
365374		return  -1 ;
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments