Skip to content

内存泄漏,但是漏的不多 #312

@LiDaoKuan

Description

@LiDaoKuan

刚clone项目,没怎么细看代码。
位置在:http_conn.h中,http_conn::do_request()函数。
CLion给报黄了。看了一下确实泄露了。

if (*(p + 1) == '3')
{
    //如果是注册,先检测数据库中是否有重名的
    //没有重名的,进行增加数据
    char *sql_insert = (char *)malloc(sizeof(char) * 200);
    strcpy(sql_insert, "INSERT INTO user(username, passwd) VALUES(");
    strcat(sql_insert, "'");
    strcat(sql_insert, name);
    strcat(sql_insert, "', '");
    strcat(sql_insert, password);
    strcat(sql_insert, "')");

    if (users.find(name) == users.end())
    {
        m_lock.lock();
        int res = mysql_query(mysql, sql_insert);
        users.insert(pair<string, string>(name, password));
        m_lock.unlock();

        if (!res)
            strcpy(m_url, "/log.html");
        else
            strcpy(m_url, "/registerError.html");
    }
    else
        strcpy(m_url, "/registerError.html");
}
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions