类型: 质量问题

    程序创建或分配数据库资源后,不进行合理释放,将会降低系统性能。攻击者可能会通过耗尽资源池的方式发起拒绝服务攻击。

    例如:在下面Java代码片段中,创建数据库对象资源后未进行合理释放,在繁忙的程序环境下,数据库连接池可能会耗尽,从而导致其他用户无法访问该数据库资源。

    1. try {
    2. Connection conn = DriverManager.getConnection(some_connection_string)
    3. PreparedStatement stmt = conn.prepareStatement(sqlquery);
    4. ...
    5. } catch (Exception e) {
    6. log(e);
    7. }