• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Malloc i wyciek pamięci

Object Storage Arubacloud
+3 głosów
464 wizyt
pytanie zadane 30 czerwca 2017 w C i C++ przez Madar Obywatel (1,560 p.)
edycja 3 lipca 2017 przez Madar
char *ptr;
int i;
for (i=2; i<=5; i++) {
   ptr = malloc(i);
}
free(ptr);

Cześć! Mam pytanie odnośnie powyższego zadania. Jaki będzie wyciek pamięci po wykonaniu się tego kodu? Wiem, że malloc przyjmuje ilość bajtów do dynamicznej rezerwacji w pamięci, ale nie do końca chyba rozumiem jak poniższy kod działa: 

Według mnie wyciek pamięci będzie równy 9 bajtów, ponieważ pętla wykona się 4 razy rezerwując za każdym razem odpowiednio 2,3,4 oraz 5 bajtów, a po tym wszystkim funkcja free(ptr) wyczyści pamięć tylko z ostatniej iteracji, zatem reszta nie zostanie wyczyszczona więc wyciek pamięci będzie równy 9 bajtów. 

Czy ktoś mógłby potwierdzić/zaprzeczyć i w tym drugim przypadku opisać jak działa powyższy kod i jaki będzie faktyczny wyciek?

komentarz 30 czerwca 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Nie wiem, czy używałeś tagu HTML <strong> celowo, czy to jakiś błąd w forum, ale poprawiłem na pogrubiony tekst wink

komentarz 30 czerwca 2017 przez Madar Obywatel (1,560 p.)
Dzięki za poprawkę :) Nie planowałem tego, widocznie jakiś bug się wkradł

1 odpowiedź

+2 głosów
odpowiedź 30 czerwca 2017 przez criss Mędrzec (172,590 p.)

Dobrze myślisz. Myślę, że wszystko rozumiesz.

opisać jak działa poniższy kod i jaki będzie faktyczny wyciek?

Rozumiem, że poniżej miało coś być jeszcze? :P 

komentarz 30 czerwca 2017 przez Madar Obywatel (1,560 p.)
Nie, to mój błąd. Dzięki za odpowiedź :)

Podobne pytania

0 głosów
1 odpowiedź 344 wizyt
pytanie zadane 25 sierpnia 2020 w C i C++ przez fortuna Początkujący (310 p.)
0 głosów
1 odpowiedź 546 wizyt
pytanie zadane 15 listopada 2017 w C i C++ przez kosttek Początkujący (450 p.)
0 głosów
1 odpowiedź 625 wizyt
pytanie zadane 25 listopada 2017 w C i C++ przez Krótki Użytkownik (760 p.)

92,579 zapytań

141,432 odpowiedzi

319,662 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...