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:33 | Pozvánky

    V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »

    lkocman | Komentářů: 0
    dnes 15:00 | Komunita

    Vývojáři Debianu zhruba v polovině vývojového cyklu Debianu 14 s kódovým názvem Forky rozhodli, že Debian musí dodávat reprodukovatelné balíčky, tj. kdokoli si může nezávisle ověřit, že daný binární balíček vznikl překladem a sestavením z konkrétních zdrojových kódů. Aktuálně je reprodukovatelných 98,29 % balíčků.

    Ladislav Hagara | Komentářů: 0
    dnes 14:11 | Bezpečnostní upozornění

    Německý e-shop Škoda Auto byl hacknut. Útočníci získali přístup k uživatelským údajům (jméno, adresa, e-mail, heslo, telefon, …).

    Ladislav Hagara | Komentářů: 2
    dnes 11:22 | Pozvánky

    Na webu konference Den IPv6 2026, která se uskuteční 4. června v Národní technické knihovně v pražských Dejvicích, je nyní k dispozici kompletní program této tradiční akce věnované tématům spojeným s protokolem IPv6. Na celodenní pásmo přednášek je třeba se přihlásit a zaplatit účastnický poplatek 242 korun. Registrační formulář najdou zájemci opět na webu akce. Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 1
    včera 23:33 | Zajímavý software

    Byl představen emulátor terminálu Ratty (GitHub) s podporu 3D grafiky přímo v terminálu. Inspirací byl operační systém TempleOS od Terryho Davise. Ratty je napsán v jazyce Rust. Využívá knihovnu Ratatui pro tvorbu rozhraní a herní engine Bevy pro 3D vykreslování.

    Ladislav Hagara | Komentářů: 4
    včera 17:55 | IT novinky

    Evropské instituce i některé americké státy dál zpřísňují pravidla pro ověřování věku na internetu. Cílem je zabránit dětem v přístupu k obsahu pro dospělé. Úřady ale narážejí na zásadní problém – stále více lidí používá VPN, tedy služby umožňující skrýt identitu i skutečnou polohu na internetu. Právě VPN nyní Evropská parlamentní výzkumná služba (EPRS) označila za „mezeru v legislativě, kterou je potřeba uzavřít“ [Novinky.cz].

    Ladislav Hagara | Komentářů: 26
    včera 17:22 | Nová verze

    Multiplatformní open source aplikace pro psaní poznámek Joplin (Wikipedie) byla vydána v nové verzi 3.6. Nově lze mít v poznámkách embedovaný externí obsah, např. YouTube videa.

    Ladislav Hagara | Komentářů: 1
    včera 16:44 | Komunita

    Open Hardware Summit 2026 organizovaný OSHWA (Open Source Hardware Association) proběhne o víkendu 23. a 24. května v Berlíně na Technické univerzitě Berlín.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze

    Navigace se soukromím CoMaps postavena nad OpenStreetMap byla vydána v nové verzi 2026.05.06. Přibyla možnost aktualizovat mapy v aplikaci CoMaps, aniž by bylo nutné aktualizovat i verzi aplikace. CoMaps je komunitní fork aplikace Organic Maps.

    Ladislav Hagara | Komentářů: 1
    10.5. 05:11 | Nová verze

    OCCT3D (Open CASCADE Technology) Open Source 8.0 bylo vydáno. OCCT3D (Wikipedie, GitHub) je objektově orientovaná knihovna pro 3D CAD, CAM nebo CAE. Používá se například v softwarech FreeCAD a KiCad.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1590 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: realloc error

    13.4.2011 01:56 peter
    realloc error
    Přečteno: 172×
    Ahoj, snazim sa napisat program pre citanie zo standardneho vstupu:
    size_t bufSize = 1024;
    unsigned char *msg = NULL;
    size_t msgBytes = 0;
    size_t inputMsgBufCount = 0;
    unsigned char inputBuffer[bufSize];
    size_t bytesRead = 0;
    unsigned char *tmp = NULL;
    
    if ((msg = (unsigned char *)malloc(sizeof(unsigned char) * bufSize)) == NULL)
        exit(EXIT_FAILURE);
    bytesRead = fread(msg, sizeof(unsigned char) * bufSize, 1, stdin);
    inputMsgBufCount++;
    
    while (bytesRead) {
        printf("iteration: %lu\n", inputMsgBufCount);
        if ( (tmp = (unsigned char *)realloc(msg, (inputMsgBufCount * bufSize) + bufSize)) != NULL ) {
             printf("reallocated\n");
            msg = tmp;
            inputMsgBufCount++;
        }
        else {
            printf("Ran out of memory\n");
            free(msg);
        }
        bytesRead = fread(inputBuffer, sizeof(unsigned char) * bufSize, 1, stdin);
        memmove((msg + (inputMsgBufCount * bufSize)), inputBuffer, bufSize);
    }
    
    free(msg);
    
    msgBytes = (inputMsgBufCount * bufSize);
    
    gettimeofday(&end, NULL);
    printf("%10.6lf [MB/s]\n", (msgBytes / (1<<20)) / ( (end.tv_sec - start.tv_sec)
    ale ked program spustim: ~# dd if=/dev/zero bs=1024 count=8 | ./test dostanem nasledujucu chybu:
    iteration: 1
    reallocated
    iteration: 2
    reallocated
    iteration: 3
    reallocated
    iteration: 4
    reallocated
    iteration: 5
    reallocated
    iteration: 6
    reallocated
    iteration: 7
    test(11450) malloc: *** error for object 0x100804008: incorrect checksum for freed object - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug
    Abort trap
    Cize program nemoze reallokovat pamat po 7 reallokacii. Viete mi prosim niekto poradit, stojim s tym na mrtvom bode. Dakujem.

    Odpovědi

    13.4.2011 08:47 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: realloc error
    Výslednou chybu způsobíte tady, píšete kam nemáte:
    memmove((msg + (inputMsgBufCount * bufSize)), inputBuffer, bufSize);
    A vzniká vám u inputMsgBufCount++;, jedno bych ubral (vyberte si které by to mohlo být :)), nebo celý segment před while zahodit a malinko to upravit:)
    A děláte si to tím že jednou píšete tam a jednou onam - chápu to jako nějaký test, takže to inputBuffer a memmove má nějaký význam, místo čtení přímo do připraveného bufferu a nezohledňování hodnoty v bytesRead.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    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.