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 02:44 | IT novinky

    Ve spolupráci společností OpenAI a Work Louder byla představena (𝕏) hardwarová klávesnice Codex Micro pro práci s AI agenty. Cena klávesnice je 230 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 20:00 | Nová verze

    Byl vydán Mozilla Firefox 153.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 153 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Bezpečnostní upozornění Ladislav Hagara | Komentářů: 7
    včera 13:11 | Nová verze

    Byla vydána nová verze 5.44 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 71 vývojářů. Změněno bylo přibližně 270 tisíc řádků v 1 300 souborech. Přehled novinek a změn v podrobném seznamu.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Pozvánky

    Na 23. září 2026 je do bratislavské Nové Cvernovky naplánovaná jednodenní konference #nobullshit.camp pro tech leadery, DevOps a platform inženýry. Mají tu zaznít upřímné příběhy z praxe o tom, co v produkčních systémech reálně fungovalo, co se pokazilo a co si z toho lidé odnesli. Témata pokrývají tři oblasti – DevOps a platformy (Kubernetes, cloud, provoz systémů), firemní kulturu a leadership. Program běží ve dvou formátech: hlavní

    … více »
    alian | Komentářů: 0
    včera 03:44 | Nová verze

    Byla vydána nová verze 1.58 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Josephine Pfeiffer. Vypíchnout lze možnost nmtui zobrazit nastavení Wi-Fi jako QR kód nebo podporu CLAT (464XLAT) a tunelů GENEVE (Generic Network Virtualization Encapsulation).

    Ladislav Hagara | Komentářů: 0
    20.7. 20:22 | IT novinky

    Zákaz používání mobilních telefonů a dalších elektronických komunikačních zařízení ve školách, jehož uzákonění navrhli jako poslanci premiér Andrej Babiš (ANO) a ministr školství Robert Plaga (za ANO), dnes podle očekávání vláda podpořila. Novinářům to oznámil Babiš, podle Plagy byla podpora kabinetu jednomyslná. Účinnost předkladatelé navrhují od 1. září 2027. Podle opoziční ODS je plošný zákaz líbivé populistické opatření namířené proti digitální gramotnosti dětí.

    Ladislav Hagara | Komentářů: 10
    20.7. 19:33 | Bezpečnostní upozornění

    Vládní CERT upozorňuje (𝕏) na zranitelnost ve WordPress Core: CVE-2026-63030 s přezdívkou wp2shell. Zranitelnost typu vzdálené spuštění kódu (RCE) bez nutnosti autentizace umožňuje útočníkovi spouštět libovolný kód prostřednictvím endpointu WordPress REST API Batch. Ke zneužití není vyžadován platný uživatelský účet ani interakce uživatele. Úspěšné zneužití může vést ke kompletnímu kompromitování webové stránky a souvisejících dat. Zranitelnost postihuje verze WordPress 6.9.0 až 6.9.4 a 7.0.0 až 7.0.1.

    Ladislav Hagara | Komentářů: 0
    20.7. 18:11 | IT novinky

    Evropská komise (EK) vyměřila čínskému internetovému prodejci AliExpress pokutu 550 milionů eur (13,3 miliardy korun) za porušení povinností vyplývajících z nařízení o digitálních službách (DSA). Platforma podle EK řádně neposuzovala a neomezovala rizika související s prodejem nelegálních, nebezpečných nebo padělaných výrobků na svém internetovém tržišti. Komise zároveň firmě nařídila přijmout nápravná opatření. Podle AliExpressu je pokuta nepřiměřená.

    Ladislav Hagara | Komentářů: 18
    20.7. 12:22 | Nová verze

    Ruffle, tj. open source emulátor Flash Playeru napsaný v Rustu, byl vydán ve verzi 0.4.0. Ke stažení je také na Flathubu. Přímo ve webovém prohlížeči lze vyzkoušet online dema nebo vlastní swf soubory.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (24%)
    Celkem 2196 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: strncpy přidává '\031' – bug v glibc?

    stativ avatar 27.12.2009 11:29 stativ | skóre: 54 | blog: SlaNé roury
    strncpy přidává '\031' – bug v glibc?
    Přečteno: 533×
    Právě jsem narazil na prapodivný problém, kdy mi v jednom konkrétním případě strncpy přidává znak '\031' (end of medium?) na konec řetězce.

    Dělá mi to na desktopu s Archem (32 bit) – jak s gcc 4.4.2 tak s clang 2.6, tudíž předpokládám, že pokud bug není u mě tak bude nejspíš v glibc (2.11.1). Když jsem to ale zkoušel na mašině s OpenSuSE (64bit) tak to jelo správně.

    Ukázka kódu, který blbne:
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    int main() {
        char *test = "x^3 + (-x)^5";
        /*char *test = "sin(123 + 45 * ln(27 - 6))";*/
        char *str = malloc(strlen(test) * sizeof(char));
    
        strncpy(str, test, strlen(test));
    
        printf("%s\n",str);
    }
    
    Čekal bych, že na výstupu bude: x^3 + (-x)^5

    ale já dostanu: x^3 + (-x)^5\031

    Zvláštní je, že s jiným řetězcem (např. tím zakomentovaným to funguje).

    Můj dotaz je – je bug u mě, nebo jinde?
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk

    Řešení dotazu:


    Odpovědi

    27.12.2009 11:40 0-58glfsdhesr
    Rozbalit Rozbalit vše Re: strncpy přidává '\031' – bug v glibc?
    "Prekladac automaticky pridava ke kazde konstatne typu *char znak \0, aby funkce poznaly, kde konci" (volne podle K&R). Avsak strlen vraci delku bez \0 (man 3 strlen).

    V tomto pripade by mozna stalo za to pouzit funkci strdup, ale nekdy se hodi si pamet alokovat rucne.

    Doporucuju na ten kod spustit valgrind, ktery odhali chyby podobneho typu.
    stativ avatar 27.12.2009 11:49 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: strncpy přidává '\031' – bug v glibc?
    Jop, přesně tak. Ani mě nenapadlo, že bych mohl takovou chybu udělat (zvlášť, když jinde to mám správně).
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    stativ avatar 27.12.2009 11:46 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: strncpy přidává '\031' – bug v glibc?
    Safra, já zapomněl na plus jedna.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    27.12.2009 16:48 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: strncpy přidává '\031' – bug v glibc?
    Měl byste se raději podívat na význam základních operátorů v C++, protože sizeof(test) vrátí délku celého pole, namísto volání strlen(test), násobení sizeof(char) a přičítání jedničky. Nejen, že použití sizeof(test) je elegantnější, ale narozdíl od Vámi prezentovaného řešení má konstatní složitost (strlen(test) má lineární složitost!).
    Pochybnost, nejistota - základ poznání
    AraxoN avatar 27.12.2009 17:59 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: strncpy přidává '\031' – bug v glibc?
    Neviem ako v C++, ale v C sizeof(test) vráti veľkosť dátového typu "smerník".
    27.12.2009 18:25 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: strncpy přidává '\031' – bug v glibc?
    protože sizeof(test) vrátí délku celého pole
    Jenže zde jde o pointer! Velikost celého pole může sizeof vrátit pouze pokud jde o pole v době deklarace. Prostě:
    int a[10];
    int *pa = a;
    // sizeof(a) = 10*sizeof(int) != sizeof(pa) = sizeof(void *)
    
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    stativ avatar 27.12.2009 19:15 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: strncpy přidává '\031' – bug v glibc?
    To je pěkný, ale je to pointer. Navíc sizeof vrací alokovanou paměť, ne tu, která je řetězcem reálně obsazená.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk

    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.