Sortie de la bibliothèque standard C Musl 1.2.6

Après deux ans de développement, la version de la bibliothèque C standard Musl 1.2.6 a été publiée, fournissant une implémentation de libc qui convient à une utilisation tant sur des PC et serveurs de bureau que sur des systèmes mobiles. Elle combine un support complet des normes (comme dans Glibc) avec une taille compacte, une faible consommation de ressources et une grande performance (comme dans uClibc, dietlibc et Android Bionic). Le support de toutes les interfaces C99 et POSIX 2008 est inclus, ainsi qu'un support partiel de C11 et un ensemble d'extensions pour la programmation multithread (threads POSIX), la gestion de la mémoire et la manipulation des localités. Le code Musl est distribué sous la licence libre MIT.

Principales modifications :

  • La fonction posix_getdents a été mise en œuvre, introduite dans la norme POSIX-2024. Cette fonction lit le contenu d'un répertoire associé à un descripteur de fichier ouvert et place des informations sur les sous-répertoires et les fichiers dans des structures posix_dent avec une option de limitation de la taille maximale.
  • Ajout de la fonction spécifique à Linux renameat2, qui fournit des moyens pour renommer de manière atomique deux fichiers (le premier fichier est renommé en second, et le second en premier). La nouvelle fonction se distingue de renameat par la présence d'un champ d'options supplémentaire : sans activer ce drapeau, le comportement de renameat2 est totalement similaire à celui de renameat, tandis qu'en spécifiant le drapeau RENAME_NOREPLACE, l'opération de renommage ne remplace pas un fichier déjà existant.
  • Pour les systèmes Loongarch64, le support du mécanisme TLSDESC (Thread-Local Storage Descriptor) a été ajouté pour un accès efficace aux variables dans le stockage local du thread.
  • Grâce à vDSO, la fonction clock_gettime a été optimisée sur les architectures riscv32, riscv64, powerpc, powerpc64 et s390x. vDSO (objet partagé dynamique virtuel) permet de déplacer le gestionnaire d'appels systèmes du noyau vers l'espace utilisateur et d'éviter les changements de contexte.
  • Pour déterminer les capacités du CPU à l'exécution des compilateurs, le symbole __getauxval a été transféré dans l'ABI public.
  • Une vulnérabilité (CVE-2025-26519) a été corrigée, conduisant à un dépassement de tampon lors de la conversion d'un texte spécialement formaté de l'encodage EUC-KR en UTF-8 à l'aide de la fonction iconv(). Cette vulnérabilité a été identifiée il y a plus d'un an et a été corrigée avec l'installation d'un patch avant la version.
  • Des problèmes de compatibilité dans les fonctions initgroups, getusershell, exit, atexit, strerror, isatty, hasmntopt et vdso ont été résolus, ainsi que dans les fichiers d'en-tête sched.h et shadow.h.
  • Amélioration de la conformité aux spécifications dans les fonctions pwrite (problème avec O_APPEND résolu), mbnrtowcs (exigences de POSIX-2024 prises en compte), strptim (exigences de POSIX-2024e prises en compte), inet_ntop (conformité à la RFC 5952 assurée).

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster