Veröffentlichung der Systembibliothek Glibc 2.30

Nach sechs Monaten Entwicklung veröffentlicht Release der Systembibliothek GNU C-Bibliothek (glibc) 2.30, die vollständig den Anforderungen der Standards ISO C11 und POSIX.1-2008 entspricht. Die neue Version enthält Fehlerbehebungen von 48 Entwicklern.

Zu den Implementierungen in Glibc 2.30 Verbesserungen gehören:

  • Im dynamischen Linker wurde die Unterstützung der Option „—preload“ für die Vorladung von gemeinsam genutzten Objekten (analog zur Umgebungsvariablen LD_PRELOAD) hinzugefügt;
  • Die Funktion twalk_r wurde hinzugefügt, die ähnlich wie die bereits vorhandene Funktion twalk ist, jedoch die Übergabe eines zusätzlichen Arguments an die definierte Callback-Funktion ermöglicht;
  • Für Linux wurden neue Funktionen wie getdents64, gettid und tgkill eingeführt;
  • Es wurde sichergestellt, dass die Funktionen zur Speicherverwaltung malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign und posix_memalign mit einem Fehlercode beendet werden, wenn die Gesamtgröße des Objekts den Wert PTRDIFF_MAX überschreitet. Diese Änderung verhindert undefiniertes Verhalten, wenn die Pointer-Manipulation zu einem Überlauf des Typs ptrdiff_t führt;
  • Die in POSIX vorgeschlagenen Funktionen pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock und sem_clockwait, die ähnlich wie ihre „timed“-Äquivalente sind, aber zusätzlich einen Parameter clockid_t zur Auswahl des Timers akzeptieren, wurden hinzugefügt;
  • Die Codierungsdaten, Informationen über Zeichentypen und Transliterationstabellen wurden aktualisiert, um die Spezifikation Unicode 12.1.0 zu unterstützen;
  • In der Bibliothek librt stehen für neue Anwendungen die Funktionen clock_gettime, clock_getres, clock_settime, clock_getcpuclockid und clock_nanosleep nicht mehr zur Verfügung; stattdessen werden automatisch Definitionen in libc verwendet;
  • Die Unterstützung der Option „inet6“ wurde in /etc/resolv.conf eingestellt. Veraltete Flags RES_USE_INET6, RES_INSECURE1 und RES_INSECURE2 wurden aus resolv.h entfernt;
  • Wenn die Option „—enable-bind-now“ angegeben wird, werden die installierten Programme jetzt mit dem Flag BIND_NOW verbunden;
  • Die spezifischen Linux-Headers sys/sysctl.h und die Funktion sysctl wurden als veraltet erklärt; stattdessen sollten Anwendungen das Pseudo-Dateisystem /proc verwenden;
  • Für den Bau von Glibc wird jetzt GCC 6.2 oder eine neuere Version benötigt (für den Bau von Anwendungen können beliebige Compiler verwendet werden);
  • Eine Schwachstelle wurde behoben CVE-2019-7309 in der Implementierung der Funktion memcmp für veraltete Subarchitektur x32 (nicht zu verwechseln mit x86 IA-32), wodurch die Funktion möglicherweise fälschlicherweise den Wert 0 für nicht übereinstimmende Strings zurückgeben konnte;
  • Eine Schwachstelle wurde behoben CVE-2019-9169, die dazu führen kann, dass Daten außerhalb der Speichergrenzen gelesen werden, wenn bestimmte reguläre Ausdrücke verarbeitet werden.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster