Zero Day Initiative zveřejnila informace o 6 bezpečnostních chybách (1, 2, 3, 4, 5, 6) v MTA Exim. Nejvážnější z nich CVE-2023-42115 má CVSS 9.8. Na opravě chyb se pracuje.
Knihovna libvpx byla vydána ve verzi 1.13.1. Řešena je kritická bezpečnostní chyba CVE-2023-5217 (heap buffer overflow in vp8 encoding). Chyba je již opravena také v Chrome / Chromium 117.0.5938.132 a Firefoxu 118.0.1.
Balíček kmod s nástroji pro práci s linuxovými moduly byl vydán ve verzi 31. Nově umí modprobe zavést modul nacházející se v libovolném adresáři (# modprobe ./drivers/gpu/drm/i915/i915.ko).
Adventura Trüberbrook je na portále GOG.com zdarma, akce trvá do 2. října.
Sound Open Firmware, projekt Linux Foundation, open source audio DSP firmware a SDK, byl vydán ve verzi 2.7.0. Z novinek lze vypíchnout podporu platformy AMD Van Gogh.
Richard Stallman v den oslav 40. výročí GNU oznámil, že má rakovinu (YouTube).
DIY trackball Ploopy má novou variantu Adept, na rozdíl od předchozích používá 44mm kouli, má symetrický tvar a šest tlačítek, snímač zůstává PMW-3360, novinkou je použití Raspberry Pi Pico, na kterém běží firmware QMK s podporou grafické konfigurační aplikace VIA. Předobjednávky jsou otevřeny za ceny 80-105 CAD.
Probíhá Meta Connect 2023. Společnost Meta představuje své novinky v oblasti AI a virtuální, smíšené a rozšířené reality. Představeny byly nové chytré brýle Ray-Ban | Meta a headset Meta Quest 3.
Eben Upton oficiálně představil (YouTube) nové Raspberry Pi 5 (YouTube). Je více než 2x výkonnější než jeho předchůdce, model 4B.
Byl vydán (YouTube) Counter-Strike 2. Nativně také pro Linux. Jedná se o největší technologický skok v historii této populární herní série.
mem.h
#include <QWidget> class Mem : public QWidget { public: Mem (QWidget * parent = NULL); };
mem.cpp
#include "mem.h" #include <QVBoxLayout> #include <QLabel> Mem::Mem (QWidget * parent) : QWidget(parent) { QVBoxLayout * vbox = new QVBoxLayout(this); QLabel * one = new QLabel("Hello"); QLabel * two = new QLabel("world!"); vbox->addWidget(one); vbox->addWidget(two); setLayout(vbox); }
main.cpp
#include <QApplication> #include "mem.h" int main (int argc, char ** argv) { QApplication app(argc,argv); Mem window; window.show(); return app.exec(); }A teď výpis z Valgrindu:
==26725== HEAP SUMMARY: ==26725== in use at exit: 83,285 bytes in 1,696 blocks ==26725== total heap usage: 17,743 allocs, 16,047 frees, 1,890,066 bytes allocated ==26725== ==26725== LEAK SUMMARY: ==26725== definitely lost: 192 bytes in 2 blocks ==26725== indirectly lost: 912 bytes in 34 blocks ==26725== possibly lost: 1,720 bytes in 9 blocks ==26725== still reachable: 80,461 bytes in 1,651 blocks ==26725== suppressed: 0 bytes in 0 blocksVýpis s
--leak-check=full
==27097== Memcheck, a memory error detector ==27097== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. ==27097== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info ==27097== Command: ./memory_leak ==27097== Parent PID: 24134 ==27097== ==27097== ==27097== HEAP SUMMARY: ==27097== in use at exit: 83,285 bytes in 1,696 blocks ==27097== total heap usage: 17,438 allocs, 15,742 frees, 1,884,214 bytes allocated ==27097== ==27097== 120 bytes in 1 blocks are possibly lost in loss record 116 of 170 ==27097== at 0x4024150: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x402420E: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x509FFA9: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A14C8: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A219D: g_slist_prepend (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A516C: g_strsplit (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BACB8: g_get_language_names (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BB216: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD289: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50364B5: g_thread_init (in /usr/lib/libgthread-2.0.so.0.2800.6) ==27097== by 0x4C61941: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (in /usr/lib/qt/lib/libQtCore.so.4.7.0) ==27097== by 0x4227BB5: ??? (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== ==27097== 124 bytes in 1 blocks are definitely lost in loss record 117 of 170 ==27097== at 0x4025BB8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x53CCE52: ??? (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x53CCF54: ??? (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x53CC813: xcb_connect_to_display_with_auth_info (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x53CCB5B: xcb_connect (in /usr/lib/libxcb.so.1.1.0) ==27097== by 0x52D5652: _XConnectXCB (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52C5476: XOpenDisplay (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x41FBC5C: ??? (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== by 0x417DAD7: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== by 0x417E342: QApplication::QApplication(int&, char**, int) (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== by 0x8049E7A: main (in /home/yenn/qt/memory_leak/memory_leak) ==27097== ==27097== 360 bytes in 3 blocks are possibly lost in loss record 132 of 170 ==27097== at 0x4024150: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x402420E: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x509FFA9: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A14E5: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A219D: g_slist_prepend (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A516C: g_strsplit (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BACB8: g_get_language_names (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50BB216: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD289: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50364B5: g_thread_init (in /usr/lib/libgthread-2.0.so.0.2800.6) ==27097== by 0x4C61941: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (in /usr/lib/qt/lib/libQtCore.so.4.7.0) ==27097== by 0x4227BB5: ??? (in /usr/lib/qt/lib/libQtGui.so.4.7.0) ==27097== ==27097== 980 (68 direct, 912 indirect) bytes in 1 blocks are definitely lost in loss record 150 of 170 ==27097== at 0x4025C9E: realloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x52E9A57: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52E9FD0: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52EBC91: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52EC4B4: _XlcCreateLC (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x530F509: _XlcUtf8Loader (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52F43BB: _XOpenLC (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52F467D: _XrmInitParseInfo (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52DAA10: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52DE1B7: XrmGetStringDatabase (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52B9ADE: ??? (in /usr/lib/libX11.so.6.3.0) ==27097== by 0x52B9D0E: XGetDefault (in /usr/lib/libX11.so.6.3.0) ==27097== ==27097== 1,240 bytes in 5 blocks are possibly lost in loss record 156 of 170 ==27097== at 0x4024150: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x402420E: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27097== by 0x509FFA9: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50A14E5: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50545F8: g_array_sized_new (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50546D2: g_array_new (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD16E: g_static_private_set (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x5064846: g_get_filename_charsets (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50648CC: ??? (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50AD279: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.2800.6) ==27097== by 0x50364B5: g_thread_init (in /usr/lib/libgthread-2.0.so.0.2800.6) ==27097== by 0x4C61941: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (in /usr/lib/qt/lib/libQtCore.so.4.7.0) ==27097== ==27097== LEAK SUMMARY: ==27097== definitely lost: 192 bytes in 2 blocks ==27097== indirectly lost: 912 bytes in 34 blocks ==27097== possibly lost: 1,720 bytes in 9 blocks ==27097== still reachable: 80,461 bytes in 1,651 blocks ==27097== suppressed: 0 bytes in 0 blocks ==27097== Reachable blocks (those to which a pointer was found) are not shown. ==27097== To see them, rerun with: --leak-check=full --show-reachable=yes ==27097== ==27097== For counts of detected and suppressed errors, rerun with: -v ==27097== ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 75 from 9)OS: Slackware-current, g++ 4.5.3, QT 4.7 Je to chyba v QT nebo dělám něco špatně já?
Řešení dotazu:
Nijak zvlášť jsem to nestudoval, ale IMHO minimálně neuklízíš vbox, one a two
addWidget()
[...]
Note: The ownership of item is transferred to the layout, and it's the layout's responsibility to delete it
Pokuď layout manager uklízí sám své widgety a widget svůj layout manager, pak je všechno v pořádku.
Release 1.7 (2010-08-13)
========================
- Always wake up readers after writing
- Get rid of PATH_MAX and MAXPATHLEN
- Add ~ operator support in code generator
- xcb_open: Improve protocol/host parsing
- xcb_connect_to_display_with_auth_info: Fix memory leak
- Report which extensions are being built
Dost z tech glib leaku je staticky alokovana pamet, ktera se alokoje jen jednou pri startu - nemela by mit vliv na program.
Tiskni
Sdílej: