Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
hiphone
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
1

Утечка памяти

14.09.2014, 20:14. Просмотров 387. Ответов 0
Метки нет (Все метки)

Здравствуйте, не могли бы Вы подсказать где может утекать память, прогонял алгоритм с пустым методом - ничего не утекает, так что проблема точно тут

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
CkHttpResponse* Request(const string url, CkHttp &http) {
    string ip;
    int port;
retr:
    EnterCriticalSection(&cs);
    tp++;
    if (tp >= static_cast<int>(Proxy.size()))
        tp = 0;
    if (Proxy.size() > 0) {
        ip = Proxy[tp];
        string z = ip.substr(ip.find(":") + 1, ip.length() - ip.find(":") - 1);
        //port = strtoint(z);
        port = atoi(z.c_str());
        ip = ip.substr(0, ip.find(":"));
    }
    LeaveCriticalSection(&cs);
    if (!ip.empty()) {
        if (lResult == 0){
            http.put_ProxyDomain(ip.c_str());
            http.put_ProxyPort(port);
        }
        if (lResult == 1) {
            http.put_SocksHostname(ip.c_str());
            http.put_SocksPort(port);
            http.put_SocksVersion(4);
        }
        if (lResult == 2){
            http.put_SocksHostname(ip.c_str());
            http.put_SocksPort(port);
            http.put_SocksVersion(5);
        }
    }
    CkHttpResponse * resp = http.QuickGetObj(url.c_str());
    if (!resp)
        goto retr;
    return resp;
}
 
CkHttpResponse* Request(const string url, int port, bool ssl, CkHttpRequest &req, CkHttp &http) {
    string ip;
    int porta;
retr:
    EnterCriticalSection(&cs);
    tp++;
    if (tp >= static_cast<int>(Proxy.size()))
        tp = 0;
    if (Proxy.size() > 0) {
        ip = Proxy[tp];
        porta = strtoint(ip.substr(ip.find(":") + 1, ip.length()));
        ip = ip.substr(0, ip.find(":"));
    }
    LeaveCriticalSection(&cs);
    if (!ip.empty()) {
        if (lResult == 0){
            http.put_ProxyDomain(ip.c_str());
            http.put_ProxyPort(porta);
        }
        if (lResult == 1) {
            http.put_SocksHostname(ip.c_str());
            http.put_SocksPort(porta);
            http.put_SocksVersion(4);
        }
        if (lResult == 2){
            http.put_SocksHostname(ip.c_str());
            http.put_SocksPort(porta);
            http.put_SocksVersion(5);
        }
    }
    CkHttpResponse * resp = http.SynchronousRequest(url.c_str(), port, ssl, req);
    if (!resp)
        goto retr;
    return resp;
}
 
 
string work(string login, const string password, vector <string> &dop) {
retry:
    if (login.find("@") != login.npos)
        login = login.substr(0, login.find("@"));
    string ret = "bad";
    try {
        CkHttp http;
        CkHttpRequest req;
 
        http.UnlockComponent("SOFTPRHttp_DUdvAd62UD8G");
        http.put_SendCookies(true);
        http.put_SaveCookies(true);
        http.put_ConnectTimeout(5);
        http.put_ReadTimeout(7);
        http.put_CookieDir("memory");
        Request(string("http://instagram.com/"), http);
        string zz2 = http.getCookieXml("instagram.com");
        string csrf = zz2.substr(zz2.find("<csrftoken>") + 11, zz2.find("</csrftoken>") - zz2.find("<csrftoken>") - 11);
        req.AddHeader("Accept", "*/*");
        req.AddHeader("Origin", "https://instagram.com");
        req.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.1.2000 Chrome/30.0.1599.101 Safari/537.36");
        req.AddHeader("X-Requested-With", "XMLHttpRequest");
        req.AddHeader("X-CSRFToken", csrf.c_str());
        req.AddHeader("Referer", "https://instagram.com/accounts/login/ajax/?targetOrigin=https%3A%2F%2Finstagram.com");
        req.AddParam("username", login.c_str());
        req.AddParam("password", password.c_str());
        req.AddParam("intent", "");
        req.UsePost();
        req.put_Path("/accounts/login/ajax/");
        CkHttpResponse * resp = Request("instagram.com", 80, false, req, http);
        auto z = string(resp->bodyStr());
        if (z.find("true") != z.npos && z.find("ok") != z.npos && z.find("<") == z.npos) {
            /*z = Request("http://instagram.com/", http)->bodyStr();
            regex e("\\\"username\\\":\\\"(.*?)\\\"");
            cmatch m;
            regex_search(z.c_str(), m, e);
            string logi = m.str(1);*/
            string logi = "/" + login + "?__a=1";
            req.RemoveAllParams();
            req.RemoveHeader("Referer");
            req.put_Path(logi.c_str());
            req.UseGet();
            resp = Request("instagram.com", 80, false, req, http);
            z = resp->bodyStr();
            regex e("\\\"media\\\":(\\d+),\\\"followed_by\\\":(\\d+),");
            cmatch m;
            regex_search(z.c_str(), m, e);
            string photos = m.str(1);
            string follow = m.str(2);
            dop.push_back(photos);
            dop.push_back(follow);
            ret = "good";
            if (photos.empty() || follow.empty())
                ret = "bad";
            photos.clear();
            follow.clear();
            logi.clear();
            goto exit;
        }
    exit:
        resp->dispose();
        http.dispose();
        z.clear();
        req.dispose();
        zz2.clear();
        csrf.clear();
        free(resp);
    }
    catch (...)
    {
        goto retry;
    }
    return ret;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2014, 20:14
Ответы с готовыми решениями:

утечка памяти
Может кто-то проверить есть ли здесь утечка памяти? Мне почему-то кажется что есть. В задачи нужно...

утечка памяти
если запустить код char *pointer = NULL; for( int i = 0; i &lt; 10; i++ ) { pointer = new char; }...

Утечка памяти
Привет! написал программму, и не могу разобраться где утекает память. помогите кто сможет. ...

Утечка памяти
Доброго времени суток, форумчане. Помогите справиться с утечкой памяти, не понятно где зараза...

Утечка памяти
Либо я себе мозг запудрила, либо помогите мне :) есть у меня вектор vector&lt;char*&gt; names_variable;...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2014, 20:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Утечка памяти
Где я допустил ее(утечку)? #define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; #include...

Утечка памяти?
В Лафоре такой код: #include &lt;iostream&gt; using namespace std;...

Утечка памяти
Доброго времени суток! Столкнулся с проблемой утечки памяти! Будь у меня маленькая программка,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.