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 14:22 | Bezpečnostní upozornění

    V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.

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

    Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 10:33 | IT novinky

    Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.

    Ladislav Hagara | Komentářů: 13
    dnes 03:22 | IT novinky

    Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).

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

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

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

    Společnost Epic Games vydala verzi 5.7 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    včera 16:22 | Bezpečnostní upozornění

    Intel vydal 30 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20251111 mikrokódů pro své procesory.

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

    Byla vydána říjnová aktualizace aneb nová verze 1.106 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.106 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Komunita

    Canonical pro své zákazníky, předplatitele Ubuntu Pro, prodloužil podporu Ubuntu LTS z 12 let na 15 let (Legacy add-on). Týká se verzí od 14.04 (Trusty Tahr).

    Ladislav Hagara | Komentářů: 2
    včera 05:11 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 5.0.0. Nově je oficiálně podporován Linux ARM64/AArch64. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 6
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (47%)
     (18%)
     (18%)
     (23%)
     (15%)
     (23%)
     (15%)
     (16%)
    Celkem 350 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Dotaz: realloc error

    13.4.2011 01:56 peter
    realloc error
    Přečteno: 163×
    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.