Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.
Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.
Meta převezme sociální síť pro umělou inteligenci (AI) Moltbook. Tvůrci Moltbooku – Matt Schlicht a Ben Parr – se díky dohodě stanou součástí Meta Superintelligence Labs (MSL). Meta MSL založila s cílem sjednotit své aktivity na poli AI a vyvinout takovou umělou inteligenci, která překoná lidské schopnosti v mnoha oblastech. Fungovat by měla ne jako centralizovaný nástroj, ale jako osobní asistent pro každého uživatele.
Byla vydána betaverze Fedora Linuxu 44 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 14. dubna.
Open source router Turris Omnia NG Wired je v prodeji. Jedná se o Turris Omnia NG bez Wi-Fi. Je připraven pro zamontování do racku.
Sníh roztál a roztávají i bastlíři. Žene se na nás celá řada konferencí a seminářů technického rázu. Zajímá vás, jaké? Pak se připojte k 60. Virtuální Bastlírně, tedy k veřejné diskuzi bastlířů, techniků, učitelů i vědců. Jako vždy přijde na přetřes spousta novinek ze světa hardwaru, softwaru i bizáru. Na začátek lze očekávat hardwarová témata, tedy například nový KiCAD 10, nové akcelerátory LLM s nízkou spotřebou, nejvíce fosforeskující
… více »IuRe (Iuridicum Remedium) v rámci programu Digitální svobody zveřejnila analýzu dopadů a efektivity systémů ověřování věku v digitálním prostoru, která srovnává implementace ověřování věku v Austrálii, Velké Británii a Evropské unii.
Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.3 (𝕏, Mastodon). Přehled novinek a vylepšení v poznámkách k vydání.
Byla vydána nová verze 14.4 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Databáze DuckDB (Wikipedie) byla vydána ve verzi 1.5.0. S kódovým názvem Variegata (husice rajská). Přináší řadu vylepšení, včetně nového ergonomičtějšího CLI klienta nebo podporu pro typ VARIANT a vestavěný typ GEOMETRY.
Můj dotaz se týká datové struktury GHashTable. Když jsem svůj program nalouskal do Valgrindu zhrozil jsem se
. Mimo svých chyb při práci s pamětí (které jsou již opravené)jsem si všiml jedné, které nepochází (asi) z mého kódu. Vytvořil jsem mini ukázku na které se dá chyba ukázat. Mám GHashTable, která má char * klíče i hodnoty. Ty by při volání g_hash_table_destroy() měli být dealokovány pomocí g_free() spolu s mojí GHashTable *hash.
#include <glib.h>
int main(int argc, char **argv)
{
GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
gchar *key = "klic";
gchar *val = "val";
g_hash_table_insert(hash, g_strdup(key), g_strdup(val));
g_hash_table_destroy(hash);
return 0;
}
Program kompiluji takto:
gcc -Wdisabled-optimization -O -g -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lglib-2.0 test.c
Když jsem zagooglil, zjistil jsem, že memleak může být Valgrindem reportován kvůli slice alocatoru, který používá Glib a že je před použitím Valgrindu potřeba vyexportovat proměnné, který donutí program nepoužívat slice allocator a další glib finty na práci s pamětí. Pouštím tedy:
export G_SLICE=always-malloc && export G_DEBUG=gc-friendly
A následně pouštím Valgrind:
michal@neotronic-ntb:/tmp$ valgrind --leak-check=full --show-reachable=yes ./a.out ==19278== Memcheck, a memory error detector. ==19278== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==19278== Using LibVEX rev 1854, a library for dynamic binary translation. ==19278== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==19278== Using valgrind-3.3.1-Debian, a dynamic binary instrumentation framework. ==19278== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==19278== For more details, rerun with: -v ==19278== ==19278== ==19278== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 17 from 1) ==19278== malloc/free: in use at exit: 1,524 bytes in 3 blocks. ==19278== malloc/free: 8 allocs, 5 frees, 1,629 bytes allocated. ==19278== For counts of detected errors, rerun with: -v ==19278== searching for pointers to 3 not-freed blocks. ==19278== checked 74,224 bytes. ==19278== ==19278== 1,524 bytes in 3 blocks are still reachable in loss record 1 of 1 ==19278== at 0x4021E22: calloc (vg_replace_malloc.c:397) ==19278== by 0x407F50B: g_malloc0 (gmem.c:151) ==19278== by 0x40941CA: g_slice_init_nomessage (gslice.c:329) ==19278== by 0x4095F34: g_slice_alloc (gslice.c:359) ==19278== by 0x4069678: g_hash_table_new_full (ghash.c:347) ==19278== by 0x8048640: main (test.c:5) ==19278== ==19278== LEAK SUMMARY: ==19278== definitely lost: 0 bytes in 0 blocks. ==19278== possibly lost: 0 bytes in 0 blocks. ==19278== still reachable: 1,524 bytes in 3 blocks. ==19278== suppressed: 0 bytes in 0 blocks.
A teď ten dotaz, dělám něco blbě já (nejpravděpodobnější možnost), valgrind má halucinace, nebo jsem narazil na memleak v glibu (o čemž pochybuji)?
Dík
Na otázku zatím nikdo bohužel neodpověděl.
Tiskni
Sdílej: