Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.
Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.
Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.
Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.
Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.
GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.
Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).
Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.
Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].
Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.
Řešení dotazu:
char cmd[256]; sprintf(cmd, "shutdown %d", time); result = system(cmd);
system()
je poměrně nebezpečná hračka a její neuvážené použití snadno vytváří bezpečnostní chyby. Nemám moc dobrý pocit, když ji vidím používat někoho, kdo se potřebuje ptát na takhle elementární obraty.
%d
je k %s
sakra blízko. Stačí, že si autor vzpomene, že chce použít plné možnosti zadání času pro shutdown
.
sprintf
by mal autor pouzit snprintf
.
char cmd[256]; snprintf(cmd, 256, "shutdown %d", time); result = system(cmd);což je nesmysl a spíš bych čekal že si pak kus toho čísla ustřihne a shutdown se provede v jiný čas, což by mohlo být větší bezpečnostní riziko :) strncpy není něco jako "bezpečná verze strcpy" v oblasti security, spíš brání nechtěným chybám v oblasti dočasné programátorovy stupidity která občas potká každého z nás. I když je nepochybně mnoho případů, kdy je vhodné ji použít, hlavně proto, aby se člověk musel zamyslet, jak dlouhý ten vstup vlastně může být. Pokud se ovšem zamyslí a řekne si, že nejlepší bude tam dát strlen(vstup) a má to teda bezpečné, protože to psali na abclinuxu, tak jsme tam, jde jsme byli :D
GNU funkciA v tom je háček, zrušíte tak přenositelnost programu a pak nemá teda ani cenu zabývat se velikým intem, budete na tom stejně.
char cmd[sizeof("shutdown %d") + sizeof(unsinged) * 3];
sprintf(cmd, "shutdown %d", time);
...
...
Tiskni
Sdílej: