LINUX.ORG.RU

[Си] double free or corruption

 


0

0
#include <string.h>
#include <stdlib.h>


int main()
{
	char **test;
	
	test = malloc(4);
	int i;
	
	for(i=0; i<4; i++)
	{
		test[i] = malloc(5);
		strcpy(test[i], "test");
	}
	
	for(i=0; i<4; i++)
	{
		free(test[i]);
	}
	
	free(test);
	
	return 0;
}

Компилю gcc, запускаю. В ответ:

*** glibc detected *** ./a.out: double free or corruption (out): 0x0000000001575030 ***

и дамп памяти далее.

В чем собственно дело?

Ответ на: комментарий от ttnl

> Я рад, что даже у тебя хватило мозгов осилить столько комментариев треда

дык, кстати, ты уже увидел «в ядре вещественную арифметику?» или она там по-твоему не вещественная?

lester ★★★★
()
Ответ на: комментарий от ttnl

Я рад, что даже у тебя хватило мозгов осилить столько комментариев треда

О, не переживай. Это маленький тред. Тем более такой весёлый. Продолжай. :)

Ximen ★★★★
()

EPIC WIN

Разрядосрач. Надо будет запомнить.

pathfinder ★★★★
()

Зря вы набросились на человека. Ну облажался человек, бывает. Переоценил свои знания и запутался. А вы его подначиваете.
Вместо 3-х страниц издевательств, могли бы ткнуть его носом или показать на пальцах. Но вы предпочли издевательство над ним.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Зря вы набросились на человека. Ну облажался человек, бывает. Переоценил свои знания и запутался. А вы его подначиваете. Вместо 3-х страниц издевательств, могли бы ткнуть его носом или показать на пальцах. Но вы предпочли издевательство над ним.

Ну ему честно предлагали признать, что слил. А он упёрся.

Ximen ★★★★
()
Ответ на: комментарий от Boy_from_Jungle

Молодо, зелено... вот и пальцы гнет

anonymous
()
Ответ на: комментарий от andreyu

> могли бы ткнуть его носом или показать на пальцах.

Тыкать носом и показывать на пальцах имеет смысл тому, кто хочет быть ткнутым носом и будет следить за пальцами. А самоуверенный дурак, с апломбом несущий чушь, пытающийся съехать с темы, «проэкзаменовать» собеседника и замерить его длинну, естественно, будет высмеян.

И это хорошо.

Ибо лор - торт. )))

LamerOk ★★★★★
()

ttnl2, ну продолжи же этот праздник! скажи ещё какую-нибудь тупость! ну пожааааааааалуйста!

limux
()
Ответ на: комментарий от LamerOk

>Тыкать носом и показывать на пальцах

Чья бы корова мычала, да вот только не твоя. Как обычно много слов, и все не по делу.
Потому что ответить тебе нечего:

http://www.linux.org.ru/forum/development/4676463?lastmod=1269603034782#comme...

Что же ты буксуешь мой юный тупой друк ? :)

ttnl ★★★★★
()

Как можно увидеть, большинство оппонентов комментарии к этой теме
писали руководствуясь стадным инстинктом, а не мозгом. И в этом нет
ничего удивительного.

Единственный комментарий по делу написал Reset, но на него, как видно,
никто не обратил внимание.

Смысла кого-нибудь в чем-нибудь убеждать нет. Хотя ещё раз замечу
свое удивление описанным мной в первом предложении фактом.

Напоследок - если найдутся люди, которым данный вопрос интересен,
и которые захотят узнать о нем ещё - даю ссылку на статью на opennet,
где о нем немного написано:
http://www.opennet.ru/base/faq/netbsd_kernel.txt.html#n7

ttnl ★★★★★
()
Ответ на: комментарий от ttnl

ты уже давал ссылку - кто хотел( в том числе и я ) прочитали это еще по ходу нашей беседы, а вот ты, судя по всему, так ничего нового и не захотел узнать, - а зря, может тебе и пригодится как-нибудь знания про то как в ядре надо работать с теми самыми вещественными числами, чтоб и быстро и безопасно - как уже говорилось, они просто пакуются в 4 или 8 байт, только не в FPU, по особенностям реализации - arsi и я уже не раз писали тебе что смотреть, в принципе опять же, как я говорил, такие места можно поискать в ядре по слову float

П.С. и да - желания устраивать срач по новой у меня нет, я перегнул с выражениями - извини, надеюсь ты адекватно воспримешь мои извинения

lester ★★★★
()

мне понравилось как перетекала тема обсуждения

malloc-> разрядность машины==разрядности указателя-> регистры-> вещественная арифметика в ядре

причем тему менял всегда ttnl2

antony986
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.