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 04:44 | Zajímavý software

    Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | IT novinky

    Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | Komunita

    Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | Nová verze

    Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | IT novinky

    DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.

    Ladislav Hagara | Komentářů: 14
    8.6. 22:44 | IT novinky

    Skriptovací programovací jazyk PHP (PHP: Hypertext Preprocessor, původně Personal Home Page) dnes slaví 30 let. Přesně před třiceti lety, 8. června 1995, oznámil Rasmus Lerdorf vydání PHP Tools (Personal Home Page Tools) verze 1.0.

    Ladislav Hagara | Komentářů: 9
    7.6. 23:55 | Humor

    Ve středu v 17:00 byl ve Francii zablokován přístup k PornHubu a dalším webům pro dospělé. K 17:30 došlo k nárůstu počtu registrací Proton VPN o 1 000 % [𝕏]. Dle nového francouzského zákona jsou provozovatelé těchto webů povinni ověřovat věk uživatelů prostřednictvím průkazu totožnosti nebo platební karty.

    Ladislav Hagara | Komentářů: 38
    6.6. 19:44 | Zajímavý článek

    Před 32 lety, 6. června 1993, byl spuštěn první český WWW server (ještě pod TLD .cs), pro potřeby fyziků zabývajících se problematikou vysokých energií.

    Ladislav Hagara | Komentářů: 7
    6.6. 16:11 | Zajímavý software

    Střílečku Borderlands 2 lze v rámci výprodeje série Borderlands na Steamu získat zdarma napořád, když aktivaci provedete do 8. června 19:00.

    Ladislav Hagara | Komentářů: 11
    Jaký je váš oblíbený skriptovací jazyk?
     (54%)
     (32%)
     (8%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 238 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    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: 3144×
    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.