2010-10-01 17:07 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/contrib/rddsdd/sqlbase.c
* harbour/contrib/sddfb/sddfb.c
* harbour/contrib/sddmy/sddmy.c
* harbour/contrib/sddoci/sddoci.c
* harbour/contrib/sddodbc/sddodbc.c
* harbour/contrib/sddpg/sddpg.c
* harbour/contrib/sddsqlt3/sddsqlt3.c
! added protection agains double resource freeing in case of double
CLOSE method;
This commit is contained in:
@@ -625,6 +625,8 @@ static HB_ERRCODE sqlbaseClose( SQLBASEAREAP pArea )
|
||||
}
|
||||
hb_xfree( pArea->pRow );
|
||||
hb_xfree( pArea->pRowFlags );
|
||||
pArea->pRow = NULL;
|
||||
pArea->pRowFlags = NULL;
|
||||
}
|
||||
|
||||
if ( pArea->szQuery )
|
||||
@@ -636,6 +638,7 @@ static HB_ERRCODE sqlbaseClose( SQLBASEAREAP pArea )
|
||||
{
|
||||
/* It is possible to have areas without connection and SDD driver. Ex., arrayrdd. [Mindaugas] */
|
||||
pArea->pConnection->uiAreaCount--;
|
||||
pArea->pConnection = NULL;
|
||||
}
|
||||
return HB_SUCCESS;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user