Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/64: Рейтинг темы: голосов - 64, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 50

Double free or corruption (out)

12.03.2019, 13:49. Показов 13839. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
 std::stringstream brf;
 
        brf << a.rdbuf();
 
        char *tmp = new char(brf.length());
 
        memcpy(tmp, brf.str().c_str(), brf.str().length()+1);
на последней строчке валиться программа, double free or corruption (out)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.03.2019, 13:49
Ответы с готовыми решениями:

Ошибка: double free or corruption (fasttop)
Я описываю метод diamond-square. Это метод для процедурной генерации мира (кому интересно - вот описание) Но столкнулся с проблемой. При...

Ошибка этапа исполнения: double free or corruption (fasttop):
Доброе времени суток подскажите пожалуйста в чем может быть следующая проблема. Код который выводит программа приведен ниже. Сама...

Double free or corruption при изменении размера динамического массива
Сразу скажу, что у меня задание на работу с памятью, и std::vector по условию использовать запрещено. #include &lt;iostream&gt; ...

6
Злостный нарушитель
 Аватар для Verevkin
10656 / 5804 / 1282
Регистрация: 12.03.2015
Сообщений: 26,805
12.03.2019, 13:55
Размер вылезает за кусок выделенной памяти. В приёмнике должно быть байт не меньше, чем указано в 3 параметре memcpy(). А ты хочешь на 1 байт больше.
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 50
12.03.2019, 13:59  [ТС]
C++
1
2
3
     std::cout << sizeof(tmp)<<std::endl;
        std::cout << sizeof(brf.str().c_str())<<std::endl;
        std::cout << sizeof(brf.str().length()+1)<<std::endl;
8 байт

убераю +1, та же ошибка
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
12.03.2019, 14:04
Цитата Сообщение от Marikoo Посмотреть сообщение
std::cout << sizeof(brf.str().length()+1)<<std::endl;
C++
1
std::cout << brf.str().length()+1<<std::endl;
а так?
0
Злостный нарушитель
 Аватар для Verevkin
10656 / 5804 / 1282
Регистрация: 12.03.2015
Сообщений: 26,805
12.03.2019, 14:07
Цитата Сообщение от Marikoo Посмотреть сообщение
8 байт
убераю +1, та же ошибка
Если ты хочешь скопировать строку, то почему не юзаешь тупо strcpy()?
Или strdup()?

------
Начинаю подозревать, что sizeof(char) у тебя равно 2.
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
12.03.2019, 14:13
C++
1
2
3
4
5
6
7
8
std::stringstream brf;
 
        brf << a.rdbuf();
        std::string str = brf.str();
        char *tmp = new char[str.length()+1];
 
        memcpy(tmp, str.c_str(), str.length());
        tmp[str.length()] = '\0';
Добавлено через 3 минуты
sizeof(brf.str().length()+1) = sizeof(size_t)
sizeof(brf.str().c_str()) = sizeof(char*) - 4 или 8 в зависимости от платформы

Вы там чего творите?
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 50
12.03.2019, 15:05  [ТС]
спасибо, ошибка пропала
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.03.2019, 15:05
Помогаю со студенческими работами здесь

Ошибка "double free or corruption" в динамическом двумерном массиве
Доброго времени. Не могу понять, почему выскакивает эта ошибка: *** Error in `./a.out': double free or corruption (out):...

Double free or corruption
Здравствуйте, вылетает такая ошибка Версия DEBUG, но всё-равно почему-то не пишет названий функций, как можно узнать где идёт...

Double free or corruption (fasttop)
Помогите разобраться в чем может быть причина. Есть одна очень большая программа. И она периодически падает. Через gdb попытался что-то...

Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double
Думаю из-за polp #include&lt;iostream&gt; #include&lt;cmath&gt; #include&lt;cstdlib&gt; using namespace std; double polp(double af,double...

Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)"
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double Akk(double x, double y, double z); int main() { int a, b, c; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru