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 @@ -320,6 +320,10 @@ static void _close_pgsql_plink(zend_resource *rsrc)
320320
321321static  void  _php_pgsql_notice_handler (void  * l , const  char  * message )
322322{
323+ 	if  (l  ==  NULL ) {
324+ 		/* This connection does not currently have a valid context, ignore this notice */ 
325+ 		return ;
326+ 	}
323327	if  (PGG (ignore_notices )) {
324328		return ;
325329	}
@@ -352,6 +356,11 @@ static int _rollback_transactions(zval *el)
352356
353357	link  =  (PGconn  * ) rsrc -> ptr ;
354358
359+ 	/* unset notice processor if we initially did set it */ 
360+ 	if  (PQsetNoticeProcessor (link , NULL , NULL ) ==  _php_pgsql_notice_handler ) {
361+ 		PQsetNoticeProcessor (link , _php_pgsql_notice_handler , NULL );
362+ 	}
363+ 
355364	if  (PQsetnonblocking (link , 0 )) {
356365		php_error_docref ("ref.pgsql" , E_NOTICE , "Cannot set connection to blocking mode" );
357366		return  -1 ;
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments