Nejnovější X.Org X server 21.1.22 a Xwayland 24.1.10 řeší 5 bezpečnostních chyb: CVE-2026-33999, CVE-2026-34000, CVE-2026-34001, CVE-2026-34002 a CVE-2026-34003.
Po roce vývoje od vydání verze 1.28.0 byla vydána nová stabilní verze 1.30.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.30.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2026-04-13. Přehled novinek poznámkách k vydání. Nově ve výchozím nastavení příkaz sudo vyžaduje heslo.
Společnost Blackmagic Design oznámila vydání verze 21 svého proprietárního softwaru pro editování videí a korekci barev DaVinci Resolve běžícího také na Linuxu. Z novinek je nutno vypíchnout možnost editování fotografií. Základní verze DaVinci Resolve je k dispozici zdarma. Plnou verzi DaVinci Resolve Studio lze koupit za 295 dolarů.
Multipatformní renderovací jádro webového prohlížeče Servo je na crates.io. S vydáním verze 0.1.0 (LTS).
Nadace FreeBSD Foundation před týdnem oznámila projekt Laptop Integration Testing. Vyzvala dobrovolníky, aby pomocí nástroje otestovali podporu FreeBSD na svých zařízeních a výsledky odeslali vývojářům. Vznikla stránka Nejlepší notebooky pro FreeBSD.
Na začátku srpna vstoupí v účinnost nová evropská pravidla transparentnosti pro umělou inteligenci (AI). Zavádějí povinnost jakýkoli AI obsah označit, informovat o takzvaných deepfakes a upozornit uživatele, že komunikuje s umělou inteligencí. Cílem opatření je omezit šíření manipulativního či klamavého obsahu, zvýšit důvěru v digitální prostředí a chránit uživatele.
Connor Byrne z USA používal pro přihlašování na svůj iPhone 13 s iOS 18 heslo obsahující háček. Po aktualizaci na iOS 26.4 se už ale do telefonu nepřihlásí. Při přihlašování nelze tento háček zadat. Apple jej prostě odstranil [The Register].
Linus Torvalds vydal jádro Linux 7.0. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).
Na čem aktuálně pracují vývojáři GNOME? Pravidelný přehled novinek v Týden v GNOME. Vypíchnout lze novou verzi 2026.1 přehrávače hudby Amberol (Flathub).
Dobry den,
chci poprosit s pomoci nalezeni chyby v nasledujicim kodu:
(komentuji radky kde valgrind hlasi chybu).
char *get_term(char *str, int pos)
{
int n;
int word = 0;
int w = 0, w_m = 0;
short in_word = 0;
short out_word = 0;
char **words;
for(n = 0; str[n] != '\0'; n++)
{
if (str[n] == '<' || str[n] == ' ' || str[n] == '>')
{
if (in_word)
{
if (w > w_m)
w_m = w;
}
out_word = 1;
in_word = 0;
w = 0;
}
else if (!in_word)
{
word++;
out_word = 0;
in_word = 1;
}
if (in_word)
w++;
}
/*ZDE*/ if ((words = (char **)malloc(word*(sizeof(char *)))) == NULL)
{
fprintf(stderr, "chps : %s\n", strerror(errno));
exit (1);
}
for (n = 0; n < word; n++)
{
if ((words[n] = (char *)malloc(w_m*sizeof(char))) == NULL)
{
fprintf(stderr, "chps : %s\n", strerror(errno));
exit (1);
}
}
in_word = out_word = 0;
w = w_m = word = 0;
for(n = 0; str[n] != '\0'; n++)
{
if (str[n] == '<' || str[n] == ' ' || str[n] == '>')
{
if (in_word)
{
if (w > w_m)
{
w_m = w;
}
/*ZDE*/ words[word - 1][w] = '\0';
}
out_word = 1;
in_word = 0;
w = 0;
}
else if (!in_word)
{
word++;
out_word = 0;
in_word = 1;
}
if (in_word)
words[word - 1][w++] = str[n];
}
if (pos <= word)
return(words[pos - 1]);
else
return(" ");
}
Funkce se vola napr get_term("<NAME opt1 opt2 opt3>", 2); a
vrati opt1.
Dekuji.
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
char *get_term(const char *str, int pos)
{
char *p, *q, *r;
size_t len;
if ((pos < 1) || !str) {
return NULL;
}
len = strlen(str);
if ((*str != '<') || (str[len - 1] != '>')) {
return NULL;
}
p = (char *)str + 1;
while (--pos) {
p = strchr(p, ' ');
if (!p || !*p) {
return NULL;
}
p++;
}
q = strchr(p, ' ');
if (!q) {
q = (char *)str + len - 2;
}
if (p > q) {
return NULL;
}
r = malloc(q - p + 2);
if (!r) {
return NULL;
}
memcpy(r, p, q - p + 1);
r[q - p + 1] = '\0';
return r;
}
int main()
{
const char *s = "<a b c d>";
int i;
for (i = 1; i <= 5; i++) {
char *p = get_term(s, i);
printf("%d: %s\n", i, p ? p : "not found");
if (p) {
free(p);
}
}
return 0;
}
Tiskni
Sdílej: