|
LwIP это потенциально опасное ПО или нет?, или я неправильно понял и не знаю что и как |
|
|
|
Apr 7 2016, 12:59
|
Частый гость
 
Группа: Участник
Сообщений: 132
Регистрация: 6-02-16
Из: г. Баку
Пользователь №: 90 364

|
Вот если я скажем делаю так (использую NetConn API): Код struct netconn *conn, *newconn; err_t err, accept_err;
conn = netconn_new(NETCONN_TCP);
while (1) { if (conn != NULL) { err = netconn_bind(conn, NULL, 7000);
if (err == ERR_OK) { netconn_listen(conn);
while (1) { accept_err = netconn_accept(conn, &newconn);
/* Process the new connection. */ if (accept_err == ERR_OK) { ... } } } else { netconn_delete(conn); } } } Т.е. все "по мануалу" и вопросов тут нет. Но вот вопрос такой тут - в функцию netconn_accept(conn, &newconn); я передал указатель на newconn, а эта функция в ответ обновила его значением указателя на свою локальную переменную (как я понял). Т.е. др. словами говоря - она создала внутри у себя какую-то локальную переменную, а потом второй параметр этой самой функции обновила уже новым значением указателя на эту переменную. И как теперь это понимать - ведь та локальная переменная существует в куче, но может же в любой момент времени быть затерта. Т.е. все работает как бы "до поры - до времени" так получается? Пока не "затрется случайно" та локальная переменная другим чем-то в ОЗУ. Или я не так понял? Или тут эта переменная newconn как бы "неполноценно" используется и в ней только что-то одно временно берется и потому все безопасно работает? Спасибо.
|
|
|
|
|
 |
Ответов
|
Apr 8 2016, 17:24
|
Частый гость
 
Группа: Участник
Сообщений: 132
Регистрация: 6-02-16
Из: г. Баку
Пользователь №: 90 364

|
Цитата(ar__systems @ Apr 8 2016, 18:08)  Вообще это довольно дерзко, не особо и в С понимая, вот так сходу брать и обвинять LwIP в глючности. Я бы посоветовал брать за аксиому, что там все правильно, а если вам кажется иначе, искать ошибки в вашем понимании С вообще и программы в частности. А Вы в C понимаете??  Тогда бы и объяснили чего и как . Тут объяснили.  Мне люди тут и объяснили подробно и доходчиво - свое время потратили и ссылку привели и не одну. Вот им сто раз спасибо готов говорить за это (только так и могу - форум ведь все-таки тут). А Вы вот только под конец написали свое мнение по-этому поводу. Резюме так сказать. И что же?  Вот что. А вообще такое предвзятое отношение к этому LwIP у меня не просто так, а вот стал проверять его работу и что-то нестабильной она показалась сильно. Стал изучать потихоньку что и как и вот в этой теме и спросил один из моментов при этом. В разделе "Для начинающих" между прочим. Ну не приходилось мне особо применять динам. выделение памяти (может даже и к лучшему это вообще-то т.к. темный лес еще тот). У меня другой сетевой стек работал месяцами не выключаясь. Больше полгода - точно было, а больше не получилось только потому что отключали для плановой замены буферного акк-ра или когда ремонт делали в комнате. А вот насчет LwIP-а что-то я совсем не уверен, что такое будет. Вообще не уверен. Поживем - увидим как говорится.
|
|
|
|
|
Apr 10 2016, 08:18
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(AleksBak @ Apr 8 2016, 23:24)  А Вы в C понимаете??  Тогда бы и объяснили чего и как . Тут объяснили.  Мне люди тут и объяснили подробно и ... В разделе "Для начинающих" между прочим. Ну не приходилось мне особо применять динам. выделение памяти (может даже и к лучшему это вообще-то т.к. темный лес еще тот). Если Вы не можете разобраться в паре строк простого кода, то очевидно, советовать можно только изучать учебник по си - все остальные советы бессмысленны. Да и разделом Вы ошиблись, тут где-то был раздел "Для совсем начинающих", Вам туда, пока язык не изучите. Динамическим выделением памяти и кучей в исходной функции даже не пахнет. Откуда Вы его постоянно приплетаете? Создаётся впечатление, что Вы не знаете что это такое, как впрочем и что такое "локальная переменная". В исходной функции идёт обычный возврат данных через указатель. Если даже такое не понятно - только учебник.
|
|
|
|
|
Apr 10 2016, 08:31
|
Частый гость
 
Группа: Участник
Сообщений: 132
Регистрация: 6-02-16
Из: г. Баку
Пользователь №: 90 364

|
Цитата(jcxz @ Apr 10 2016, 12:18)  ... Динамическим выделением памяти в исходных функциях даже не пахнет... Что Вы говорите?  Неужели??? Тут значит уже статическое выделение памяти под переменную? Да ну?? Мне тут люди уже ответили и пояснили популярно что и как и где я был не прав. Все я признаю и благодарен им. А Вы можете дальше не пояснять т.к. толку будет абсолютный нуль. Неделю назад Вы конкретно заявили, что STM32F030 это Cortex-M3 серия и что? Запомнил как раз Ваш пост и ник (!). Еще раз повторяю для любителей впустую писать - мне тут все ответили люди и пояснили. Огромное спасибо им. И все. Понятно да?
|
|
|
|
|
Apr 10 2016, 08:45
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(AleksBak @ Apr 10 2016, 14:31)  Что Вы говорите?  Неужели??? Тут значит уже статическое выделение памяти под переменную? Да ну?? Ни динамических ни статических выделений памяти там вообще нет никаких. Ни одного.Цитата(AleksBak @ Apr 10 2016, 14:31)  Неделю назад Вы конкретно заявили, что STM32F030 это Cortex-M3 серия и что? Запомнил как раз Ваш пост и ник (!). Ложь. Cortex-M3 - это не серия (серия чего???), это ядро. И утверждать на каком ядре построен STM32F030 я не мог, так как не знаю этого, и мне это не интересно. PS: Очевидно Вы даже читать не умеете, то что Вам написали.
|
|
|
|
Сообщений в этой теме
AleksBak LwIP это потенциально опасное ПО или нет? Apr 7 2016, 12:59 AleksBak Я после того как написал свой вопрос все переживал... Apr 7 2016, 18:22 _NB Цитата(AleksBak @ Apr 7 2016, 20:22) Т.е.... Apr 7 2016, 18:55  AleksBak Цитата(_NB @ Apr 7 2016, 22:55) Она возвр... Apr 8 2016, 03:22   aaarrr Цитата(AleksBak @ Apr 8 2016, 06:22) ...п... Apr 8 2016, 06:23    AleksBak Цитата(aaarrr @ Apr 8 2016, 10:23) Так в ... Apr 8 2016, 07:08 des333 AleksBak:
Представьте, Вам нужно написать функцию... Apr 8 2016, 07:13 AleksBak Цитата(des333 @ Apr 8 2016, 11:13) ...
Пр... Apr 8 2016, 07:36  des333 Цитата(AleksBak @ Apr 8 2016, 10:36) ...Т... Apr 8 2016, 07:50   AleksBak Цитата(des333 @ Apr 8 2016, 11:50) ...нап... Apr 8 2016, 08:12    des333 Цитата(AleksBak @ Apr 8 2016, 11:12) Да я... Apr 8 2016, 08:13     AleksBak Цитата(des333 @ Apr 8 2016, 12:13) Это Ва... Apr 8 2016, 08:27      Сергей Борщ QUOTE (AleksBak @ Apr 8 2016, 10:27) 3. и... Apr 8 2016, 08:58       AleksBak Цитата(Сергей Борщ @ Apr 8 2016, 12:58) .... Apr 8 2016, 09:21        Сергей Борщ QUOTE (AleksBak @ Apr 8 2016, 11:21) и по... Apr 8 2016, 10:18         AleksBak Цитата(Сергей Борщ @ Apr 8 2016, 14:18) В... Apr 8 2016, 10:38          Сергей Борщ QUOTE (AleksBak @ Apr 8 2016, 12:38) Я ду... Apr 8 2016, 10:41 gosha-z Я правильно понимаю, что newconn во втором сообщен... Apr 8 2016, 08:39 AleksBak Цитата(gosha-z @ Apr 8 2016, 12:39) ... Apr 8 2016, 08:56 AleksBak Еще пояснение: newconn - это указатель на область ... Apr 8 2016, 10:31 Сергей Борщ QUOTE (AleksBak @ Apr 8 2016, 12:31) А ес... Apr 8 2016, 10:36  AleksBak Цитата(Сергей Борщ @ Apr 8 2016, 14:36) .... Apr 8 2016, 10:53   Сергей Борщ QUOTE (AleksBak @ Apr 8 2016, 12:53) где-... Apr 8 2016, 10:58  ar__systems Цитата(AleksBak @ Apr 8 2016, 12:24) У ме... Apr 9 2016, 20:11     AleksBak Цитата(jcxz @ Apr 10 2016, 12:45) Выделен... Apr 10 2016, 09:19      aaarrr Цитата(AleksBak @ Apr 10 2016, 12:19) Код... Apr 10 2016, 09:29      jcxz Цитата(AleksBak @ Apr 10 2016, 15:19) Поя... Apr 10 2016, 09:32       AleksBak Цитата(jcxz @ Apr 10 2016, 13:32) ...Где ... Apr 10 2016, 10:23        jcxz Цитата(AleksBak @ Apr 10 2016, 16:23) это... Apr 10 2016, 11:38         AleksBak Цитата(jcxz @ Apr 10 2016, 15:38) Опять 2... Apr 10 2016, 18:25      ar__systems Цитата(AleksBak @ Apr 10 2016, 04:19) Поя... Apr 11 2016, 13:47 gosha-z MailBox - почтовый ящик.
MessageQueue - очередь со... Apr 10 2016, 18:50 AleksBak Опять я ошибся и перепутал - не "очередь сооб... Apr 10 2016, 19:24
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|