Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 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.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].
Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂
Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.
Dobry den, mam nasledujici kod v C, prvni cast naalokuje pole retezcu s "boxes" radky a pro delku kazdeho retezce "BOXLEN+1" znaku. V tomto pripade je boxes rovno peti, kod tedy naalokuje misto pro pet retezcu.
V druhe casti kodu do kazdeho z peti retezcu nakopiruji nejaky text ("123"). Problem je vsak s poslednim retezcem (parts[4]), kdy mi program pri pokusu o jeho inicializaci pres strncpy hodi segmentation fault.
char **parts = (char **) malloc(boxes); for (int i = 0; i < boxes; i++) parts[i] = (char *) malloc(BOXLEN + 1); strncpy(parts[0], "123", BOXLEN); strncpy(parts[1], "123", BOXLEN); strncpy(parts[2], "123", BOXLEN); strncpy(parts[3], "123", BOXLEN); strncpy(parts[4], "123", BOXLEN);
Nevite prosim, cim by to mohlo byt?
parts = (char **) malloc(boxes * sizeof(char *));Pokud je velikost ukazatele jiná než 1, což je prakticky všude, je přepisována nepřidělená paměť. Moje další připomínky jsou více méně formální. Pokud je
boxes < 4
, pak je parts[3]
poslední zapisovatelný prvek. Pokud je boxes
makro nebo konstanta rovná nejméně pěti, o nic nejde.
Dalším problém může nastat, pokud BOXLEN < 4
, protože se řetězce "123"
s koncovým nulovým
znakem nevejdou do alokovaných prostorů.
Pokud jePokud jeboxes < 4
, pak jeparts[3]
poslední zapisovatelný prvek.
boxes < 5
, pak do parts[4]
nepůjde zapisovat, tedy přidělit adresu pro alokovaný řetězec.
char **parts = (char **) malloc(boxes * sizeof(char *));
A na to pozor.
Dalsi mene napadna chyba je v
strncpy(parts[4], "123", BOXLEN); kde by melo byt BOXLEN + 1, pokud tedy BOXLEN ma byt max. delka retezce (coz vyvozuju z alokace BOXLEN + 1 vyse). Jinak neni zajisten ukoncovaci null znak, protoze strncpy ho neresi.
Tiskni
Sdílej: