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í
×
    dnes 17:11 | Nová verze

    Byla vydána nová verze 9.20 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček RustDesk Server pro vzdálený přístup.

    Ladislav Hagara | Komentářů: 0
    dnes 14:44 | Nová verze

    Jonathan Thomas oznámil vydání nové verze 3.4.0 video editoru OpenShot (Wikipedie). Představení novinek také na YouTube. Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | Nová verze

    Byla vydána nová verze 1.6 otevřeného, licenčními poplatky nezatíženého, univerzálního ztrátového formátu komprese zvuku Opus (Wikipedie) a jeho referenční implementace libopus. Podrobnosti na demo stránce.

    Ladislav Hagara | Komentářů: 1
    dnes 01:33 | Komunita

    Vojtěch Polášek představil Vojtux, tj. linuxovou distribuci pro zrakově postižené uživatele. Vychází ze spinu Fedory 43 s desktopovým prostředím MATE. Konečným cílem je, aby žádný Vojtux nebyl potřeba a požadovaná vylepšení se dostala do upstreamu.

    Ladislav Hagara | Komentářů: 10
    dnes 00:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) druhá RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Zajímavý článek

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

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Izrael od února zakáže dětem používat v prostorách základních škol mobilní telefony. Podle agentury AFP to uvedlo izraelské ministerstvo školství, které zdůraznilo negativní dopady, které na žactvo používání telefonů má. Izrael se tímto krokem přidává k rostoucímu počtu zemí, které dětem ve vzdělávacích zařízeních přístup k telefonům omezují.

    Ladislav Hagara | Komentářů: 28
    včera 14:00 | IT novinky

    Internetová společnost Google ze skupiny Alphabet pravděpodobně dostane příští rok pokutu od Evropské komise za nedostatečné dodržování pravidel proti upřednostňování vlastních služeb a produktů ve výsledcích vyhledávání. V březnu EK obvinila Google, že ve výsledcích vyhledávání upřednostňuje na úkor konkurence vlastní služby, například Google Shopping, Google Hotels a Google Flights. Případ staví Google proti specializovaným

    … více »
    Ladislav Hagara | Komentářů: 7
    včera 12:22 | Pozvánky

    Byl oznámen program a spuštěna registrace na konferenci Prague PostgreSQL Developer Day 2026. Konference se koná 27. a 28. ledna a bude mít tři tracky s 18 přednáškami a jeden den workshopů.

    TomasVondra | Komentářů: 0
    včera 12:11 | Pozvánky

    Na webu československého síťařského setkání CSNOG 2026 je vyvěšený program, registrace a další informace k akci. CSNOG 2026 se uskuteční 21. a 22. ledna příštího roku a bude se i tentokrát konat ve Zlíně. Přednášky, kterých bude více než 30, budou opět rozdělené do tří bloků - správa sítí, legislativa a regulace a akademické projekty. Počet míst je omezený, proto kdo má zájem, měl by se registrovat co nejdříve.

    VSladek | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (20%)
     (17%)
     (23%)
     (15%)
     (24%)
     (15%)
     (18%)
    Celkem 468 hlasů
     Komentářů: 19, poslední 11.12. 20:04
    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: 3150×
    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.