Publication de la bibliothèque système Glibc 2.30

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

Parmi les fonctionnalités mises en œuvre dans Glibc 2.30 améliorations on peut noter :

  • Le connecteur dynamique prend en charge l'option « —preload » pour précharger des objets partagés (similaire à la variable d'environnement LD_PRELOAD);
  • Ajoutée la fonction twalk_r, similaire à la fonction déjà existante twalk, mais permettant de passer un argument supplémentaire à la fonction de rappel spécifiée;
  • Pour Linux, de nouvelles fonctions getdents64, gettid et tgkill ont été ajoutées;
  • La terminaison des fonctions de gestion de la mémoire malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign et posix_memalign renvoie maintenant un code d'erreur lorsque la taille totale de l'objet dépasse PTRDIFF_MAX. Ce changement permet d'éviter un comportement indéfini lorsque le résultat des manipulations de pointeurs entraîne un dépassement de type ptrdiff_t;
  • Ajoutées les fonctions POSIX suggérées 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 le minuteur;
  • 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;
  • Dans la bibliothèque librt, les fonctions clock_gettime, clock_getres, clock_settime, clock_getcpuclockid et clock_nanosleep ne sont plus fournies pour les nouvelles applications, et les définitions de libc sont utilisées automatiquement à la place;
  • Le support de l'option « inet6 » a été supprimé dans /etc/resolv.conf. Les drapeaux obsolètes RES_USE_INET6, RES_INSECURE1 et RES_INSECURE2 ont été supprimés de resolv.h;
  • Lors de l'activation de l'option « —enable-bind-now », les programmes installés sont désormais liés en utilisant le drapeau BIND_NOW;
  • Le fichier d'en-tête spécifique à Linux sys/sysctl.h et la fonction sysctl ont été déclarés obsolètes, et les applications doivent désormais utiliser le pseudo-système de fichiers /proc;
  • Pour la compilation de Glibc, GCC 6.2 ou une version plus récente est désormais requise (tous les compilateurs peuvent être utilisés pour la compilation des applications);
  • Vulnérabilité corrigée CVE-2019-7309 dans l'implémentation de la fonction memcmp pour obsolète la sous-architecture x32 (à ne pas confondre avec x86 IA-32), ce qui a entraîné un retour incorrect de la valeur 0 pour des chaînes non correspondantes;
  • Vulnérabilité corrigée CVE-2019-9169, ce qui peut entraîner la lecture de données en dehors des limites du tampon lors du traitement de certaines expressions régulières.

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