Version de la bibliothèque système Glibc 2.30

Après six mois de développement publié version de la bibliothèque système Bibliothèque GNU C (glibc) 2.30, qui est entièrement conforme aux exigences des normes ISO C11 et POSIX.1-2008. La nouvelle version comprend des correctifs de 48 développeurs.

Parmi ceux implémentés dans la Glibc 2.30 améliorations vous pouvez noter:

  • L'éditeur de liens dynamique prend en charge l'option « --preload » pour précharger les objets partagés (analogue à la variable d'environnement LD_PRELOAD) ;
  • Ajout de la fonction twalk_r, similaire à la fonction twalk déjà existante, mais permettant de passer un argument supplémentaire à une fonction de rappel donnée ;
  • De nouvelles fonctions getdents64, gettid et tgkill ont été ajoutées pour Linux ;
  • Assurez-vous que les fonctions de gestion de la mémoire malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign et posix_memalign se terminent avec un code d'erreur lorsque la taille totale de l'objet dépasse la valeur PTRDIFF_MAX. Ce changement évite un comportement indéfini lorsque le résultat d'une manipulation du pointeur conduit à un débordement de type ptrdiff_t ;
  • Ajout des fonctions POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock et sem_clockwait, similaires aux équivalents "timed", mais acceptant en plus un paramètre clockid_t pour sélectionner la minuterie ;

  • Les données d'encodage, les informations sur les types de caractères et les tables de translittération ont été mises à jour pour prendre en charge la spécification Unicode 12.1.0 ;
  • La bibliothèque librt ne fournit plus les fonctions clock_gettime, clock_getres, clock_settime, clock_getcpuclockid et clock_nanosleep pour les nouvelles applications, mais utilise à la place automatiquement les définitions de la libc ;
  • L'option "inet6" a été supprimée de /etc/resolv.conf. Suppression des indicateurs obsolètes RES_USE_INET6, RES_INSECURE1 et RES_INSECURE2 de resolv.h ;
  • Lorsque vous spécifiez l'option "--enable-bind-now", les programmes installés sont désormais liés à l'aide de l'indicateur BIND_NOW ;
  • Le fichier d'en-tête sys/sysctl.h et la fonction sysctl spécifiques à Linux sont obsolètes, et les applications doivent plutôt utiliser le pseudo-FS /proc ;
  • Construire Glibc nécessite désormais GCC 6.2 ou une version plus récente (n'importe quel compilateur peut être utilisé pour créer des applications) ;
  • Vulnérabilité corrigée CVE-2019-7309 dans l'implémentation de la fonction memcmp pour dépassé Sous-architecture x32 (à ne pas confondre avec x86 IA-32), à la suite de laquelle la fonction pourrait renvoyer de manière incorrecte la valeur 0 pour les chaînes qui ne correspondent pas ;
  • Vulnérabilité corrigée CVE-2019-9169, ce qui peut entraîner la lecture de données à partir d'une zone en dehors des limites du tampon lorsque certaines expressions régulières sont traitées.

Source: opennet.ru

Ajouter un commentaire