diff --git a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Backends/CDBI.pm b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Backends/CDBI.pm index f24836b81..0e82a7260 100644 --- a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Backends/CDBI.pm +++ b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Backends/CDBI.pm @@ -28,7 +28,9 @@ sub store { $self->logError; return UNKNOWN_ERROR; } - unless ( $req->execute( $fields, $cfgNum ) ) { + my $execute; + eval { $execute = $req->execute( $fields, $cfgNum ); }; + unless ($execute) { $self->logError; return UNKNOWN_ERROR; } diff --git a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Backends/RDBI.pm b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Backends/RDBI.pm index 5de127af1..f5c5c100a 100644 --- a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Backends/RDBI.pm +++ b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Backends/RDBI.pm @@ -38,7 +38,9 @@ sub store { @execValues = ( $k, $v, $cfgNum, $k ); } else { @execValues = ( $cfgNum, $k, $v ); } - unless ( $req->execute(@execValues) ) { + my $execute; + eval { $execute = $req->execute(@execValues); }; + unless ($execute) { $self->logError; $self->_dbh->do("ROLLBACK"); return UNKNOWN_ERROR;