abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:33 | Komunita

    Projekt systemd schválil kontroverzní pull request, který do JSON záznamů uživatelů přidává nové pole 'birthDate', datum narození, tedy údaj vyžadovaný zákony o ověřování věku v Kalifornii, Coloradu a Brazílii. Jiný pull request, který tuto změnu napravoval, byl správcem projektu Lennartem Poetteringem zamítnut s následujícím zdůvodněním:

    … více »
    NUKE GAZA! 🎆 | Komentářů: 2
    včera 17:22 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 163 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.3. 15:22 | IT novinky

    Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního

    … více »
    NUKE GAZA! 🎆 | Komentářů: 2
    21.3. 15:11 | Zajímavý projekt

    Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.

    Ladislav Hagara | Komentářů: 13
    21.3. 04:44 | Zajímavý software

    Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.

    Ladislav Hagara | Komentářů: 0
    20.3. 14:55 | Nová verze

    KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    20.3. 13:22 | IT novinky

    Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.

    Ladislav Hagara | Komentářů: 18
    20.3. 04:44 | Zajímavý článek

    Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).

    Ladislav Hagara | Komentářů: 2
    20.3. 00:33 | Nová verze

    Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    20.3. 00:11 | Zajímavý software

    Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.

    Ladislav Hagara | Komentářů: 7
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1133 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: „corrupted size vs. prev_size“

    3.8.2018 18:16 c
    „corrupted size vs. prev_size“
    Přečteno: 3151×
    Program mi pocas behu skonci chybou:
    corrupted size vs. prev_size
    Jedna sa o jednoduchy program. Vo vykonavai programi nepouzivam ani malloc/realloc. Iba signal() a kill().

    Netusim, co moze byt zle.

    Prejavuje sa to raz zo 200 krat vykonavania programu.

    Odpovědi

    3.8.2018 20:09 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    Ak dobre chápem, tak ide o hlášku z runtime knižnice, ktorá hlási poškodenie heap-u. Môžeš to pustiť pod Valgrind-om? Používaš tam nejaké polia? Pointre?
    6.8.2018 12:14 c
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    Spustil som to, ale chyba sa prejavuje 1 zo 100-1000 spusteni, takze to trocha potrva. Ake tam parametre mam pouzit?

    Maximalne malloc a free. ... pointre pouzivam .... spracovanie textovych suborov ...
    6.8.2018 14:06 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    Parametre valgrindu? V prvom kole žiadne. Ja občas používam --leak-check=full. Ale tu asi nejde o leakovanie pamäte, ale asi double-free, alebo pointer, čo smeruje nikam úplne mimo.

    Odporučil by som každé "free(p);" zmeniť na "free(p);p=NULL;".
    6.8.2018 16:26 c
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    Asi som nasiel chybu po pouzitia valgrinda.

    Mam implementaciu
    char *strcat_malloc(char *s1, char *s2)
    a vysledna dlzka retazca je:
    strlen(s1)+strlen(s2)
    a ja som dal:
    strlen(s1)+strlen(s2)+1
    6.8.2018 19:27 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    const char *s1="a";
    const char *s2="bc";
    
    strlen(s1)+strlen(s2); // znamená: strlen(s1)==1, strlen(s2)==2, na reťazec "abc" potrebuješ alokovať 4 bajty
    char *result=malloc(strlen(s1)+strlen(s2)+1); // je 1+2+1=4 a to je správne
    strcpy(result,s1);
    strcat(result,s2);
    
    Ale keď, už raz valgrind na niečo ukáže, tak sa tam treba dobre poobzerať.
    6.8.2018 22:01 c
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    char *strcat_malloc(const char *first, const char *second)
    {
    	long int l1;
    	long int l2;
    	long int lenght;
    	
    	char *ret;
    	
    	if(first == NULL || second == NULL)
    		return NULL;
    	
    	l1=strlen(first);
    	l2=strlen(second);
    	
    	lenght=l1+l2+1;
    	ret=(char *) malloc(lenght);
    	if(ret == NULL)
    		return NULL;
    		
    	bzero(ret,lenght);
    	
    	memcpy(ret, first, l1);
    	memcpy(ret+l1, second, l2);
    	ret[l1+l2]='\0';
    	
    	return ret;
    }
    6.8.2018 23:01 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    Tam chyba nie je. Možno v pointroch, ktoré tam prídu ako parameter.
    7.8.2018 07:44 c
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    To je uz opravene.

    Chybny riadok tam bol:
    ret[l1+l2+1]='\0';
    
    ktory som opravil na
    ret[l1+l2]='\0';
    
    Ak by som vobec nemal ten riadok, tak funkcia by fungovala spravne (alokovanu pamet nulujem, aj poziciu pre \0)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.