Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na
… více »Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.
Byl zveřejněn program konference Installfest 2026. Konference proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13. Vstup zdarma.
Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.
Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…
Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »#include < iostream >
#include "cList.h"
using namespace std;
int main()
{
cout << "Linked List" << endl;
cout << "--------------" << endl;
cNode* n1 = new cNode("1");
cNode* n2 = new cNode("2");
cNode* n3 = new cNode("3");
cList zoznam;
zoznam.append(n1);
zoznam.append(n2);
zoznam.append(n3);
zoznam.append(new cNode(*n1));
zoznam.append(new cNode(*n1));
zoznam.append(new cNode(*n1));
zoznam.printContents();
cNode* n4 = new cNode("4");
cNode* n2_5 = new cNode("2.5");
zoznam.insert(n4, 10);
zoznam.insert(n2_5, 2);
zoznam.deleteNode(1);
zoznam.deleteNode(0);
zoznam.deleteNode(10);
cout<<"---------------------------"<< endl;
zoznam.printContents();
cList zoznam2 = cList(zoznam);
zoznam2.deleteNode(0);
zoznam2.deleteNode(0); // nezmaže mi nultý prvok vidim to na problem s kopirovacím konštruktorom
cout<<"------------Zoznam 1 - original---------------"<< endl;
zoznam.printContents();
cout<<"------------Zoznam 2 - kopia---------------"<< endl;
zoznam2.printContents();
delete n1; // hádže segmantation fault
delete n2;
delete n3;
delete n4;
delete n2_5;
return 0;
}
[/code]
Problémový kod z cList.cpp
[code]#include "cList.h"
using namespace std;
cList::cList()
{
first = NULL;
}
cList::cList(const cList &oldList) // kopíruje aj to čo už nemá byť v pamäti, predpokladám že preto mi nemaže to čo by malo
{
first = NULL;
if (oldList.getLength() > 0)
{
first = new cNode(oldList.first->getData());
cNode *tmp = first, *tmp2;
for (int i = 0; i < oldList.getLength(); i++)
{
tmp2 = new cNode(oldList.getNode(i)->getData());
tmp->setNext(tmp2);
tmp = tmp2;
}
}
}
cList::~cList() // tento deštruktor asi sposobuje segmentation fault
{
for(int i = 0;i < getLength();i++)
{
cNode *tmp = getNode(i); // funkcie getNode vráti uzol na danom indexe, funguje v iných častiach kodu, v nej by problem byť nemal
delete tmp;
}
delete first;
}
Ostatne časti kodu zatial nebudem posielať.. . Som si na 99% istý že problem je v tomto kode. Pridal som do zdrojaku komentáre že čo nefunguje. Pri kopirovaní celeho zoznamu sa skopiruje aj to čo by tam už nemalo byť neviem prečo:( V tom deštruktore idem asi zle na to uvolnovanie pamäte.. ale zase keď nemam v tom deštruktore nič tak mi to počas delete sekcie v main.c vypiš random vypis pamäte... Ďakujem :)
Řešení dotazu:
cList::~cList()
{
this->clear();
}
void cList::clear()
{
struct destroyer
{
destroyer(cNode *first)
: current(first)
{}
~destroyer()
{
this->operator ()();
}
void operator ()()
{
while (this->current) {
cNode *n = this->current;
this->current = n->getNext();
delete n;
}
}
cNode *current;
};
destroyer d(this->first);
d();
}
Tohle správně zdestruuje celý seznam, i pokud destruktor některého cNode vyhodí výjimku.
Tiskni
Sdílej: