Форум программистов, компьютерный форум CyberForum.ru

Обращение в неправильный участок памяти, используя структуры и pcap.h - C++

Восстановить пароль Регистрация
 
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
20.02.2011, 10:24     Обращение в неправильный участок памяти, используя структуры и pcap.h #1
Суть в чем: Есть программка, которая использует libpcap. При получении нового пакета функцией:
C++
1
2
3
4
5
pcap_t *adhandle;
struct pcap_pkthdr header;
const u_char *packet;
...
packet = pcap_next(adhandle,&header);
и дальнейшем снятии данных с пакета путем:
C++
1
2
3
4
5
6
7
typedef struct MAC_address{u_char byte1;u_char byte2;u_char byte3;u_char byte4;u_char byte5;u_char byte6;}MAC_address;
typedef struct eth_header_src{MAC_address smac;}eth_header_src;
...
eth_header_src * ethhSrc;
...
ethhSrc = (eth_header_src*)(packet+6);
cout << ethhSrc->smac.byte1;
Так вот, про прошествии n-го количества пакетов(совершенно рандомное количество) вылетает segmentation fault(core dumped) - т.е обращение в левый участок памяти...
Вопрос - ПОЧЕМУ ??? Ответ сам не нашел, поэтому пишу сюда. Помогите советом, кто сможет!

Upd1: segmentation fault только тогда, когда идет обращение к элементам smac.
т.е cout << ethhSrc->smac проходит. cout << ethhSrc->smac.byte1 уже нет.
И соответственно все операции, необходимые мне, я не могу провести с этими данными...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 10:24     Обращение в неправильный участок памяти, используя структуры и pcap.h
Посмотрите здесь:

C++ Обращение к структуре в классе с выделением памяти
Обращение по адресу к элементам структуры C++
Заполнить участок памяти C++
Почему обращение к недоступному адресу в памяти C++
C++ обращение к элементу динамического массива структуры
Обращение к свойству класса в динамической памяти C++
C++ GDB обращение к памяти
Выделение памяти и обращение к ней C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
20.02.2011, 12:34     Обращение в неправильный участок памяти, используя структуры и pcap.h #2
Пробовали отдебажить пакет, на котором возникает такая ошибка? Посмотрите его содержимое.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
22.02.2011, 06:31  [ТС]     Обращение в неправильный участок памяти, используя структуры и pcap.h #3
Да я ему записи даже закидывал расширения .pcap. Все нормально работает. Т.е либо дело в libpcap(маловероятно), либо в моей работе с packet, получаемом с pcap_next()
Yandex
Объявления
22.02.2011, 06:31     Обращение в неправильный участок памяти, используя структуры и pcap.h
Ответ Создать тему
Опции темы

Текущее время: 03:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru