12.9. コンパイラーおよび開発ツール


Red Hat Enterprise Linux 10.2 でコンパイラーと開発ツールに関して修正された問題点を確認してください。

glibc-locale-source における圧縮ロケール文字マップの gzip 依存関係の欠落を修正しました

今回のアップデート以前は、glibc-locale-source パッケージは文字マップを gzip 圧縮形式で提供していましたが、gzip パッケージへの依存関係は宣言していませんでした。その結果、システムに gzip がインストールされていない場合、圧縮アーカイブを展開できないため、glibc-locale-source が提供する文字マップで localedef を使用すると失敗する可能性がありました。

今回のリリースにより、glibc-locale-sourcegzip パッケージに依存するようになりました。この変更により、必要な圧縮ユーティリティーが確実に存在し、localedef が文字マップを正しく処理できるようになります。その結果、以前は gzip が欠落していたシステムにおいても、glibc-locale-source が提供する文字マップを使用した localedef の使用が期待どおりに動作するようになりました。

Jira:RHEL-102553

glibc の exit 関数が同時呼び出しでクラッシュしなくなりました

今回のアップデート以前は、マルチスレッドアプリケーションにおいて、glibc の exit 関数への同時呼び出しと stdio.h ストリーム操作の同時実行が同期されていませんでした。その結果、アプリケーションが予期せず終了したり、データが破損したりする可能性がありました。今回のアップデートにより、exit 関数と quick_exit 関数は、stdio.h ストリームの処理を同期するようになり、1 つの終了呼び出しのみが実行されるようになります。その結果、このシナリオではアプリケーションがクラッシュしなくなり、全体的な信頼性が向上します。

getchar などを使用して stdio.h ストリームに対してブロッキング読み取り操作を実行するアプリケーション、または flockfile を使用してストリームをロックするアプリケーションは、読み取り操作が完了するかロックが解除されるまで終了できません。この動作は POSIX 標準で規定されています。

Jira:RHEL-111117[1]

NSS グループのマージが ERANGE エラーで失敗した場合、glibc はグループメンバーシップの完全な結果を返すようになりました

今回のアップデート以前は、Name Service Switch (NSS) が 3 つ以上のサービスからグループをマージするシステムでグループメンバーシップを検索する際、内部バッファーが不足しているために 2 つのグループ間のマージが失敗したことが原因で、glibc はより大きなバッファーを使用して操作を再試行する代わりに、マージ結果をスキップしていました。

その結果、3 つ以上のグループデータベースソースを持つシステムでは、getent group コマンドなどを使用してグループ情報をクエリーすると、グループメンバーシップの結果が不完全になったり、場合によっては空の状態で返されたりすることがありました。

今回のアップデートにより、glibc は内部バッファーの不足が原因で発生したマージの失敗をスキップしなくなり、代わりに意図どおり、より大きなバッファーを使用してマージを再試行するようになりました。

その結果、複数のグループデータベースソースを持つシステムにおけるグループメンバーシップの検索では、完全かつ正確なグループメンバーシップデータが返されるようになりました。

Jira:RHEL-114265[1]

存在しないセマフォを開こうとした際に、sem_open から未初期化の結果が返される問題を修正しました

今回のアップデート以前は、存在しない名前付きセマフォに対して、O_CREAT フラグを指定せずに sem_open 関数を呼び出すと、定義済みのエラーインジケーターではなく、未初期化の値が返されることがありました。

その結果、影響を受けたアプリケーションでは、無効なセマフォハンドルを使用しようとしたり、errno が意味のある値に設定されていないためにエラーを誤って解釈したりするなど、未定義の動作が発生しました。

今回のリリースでは、存在しないセマフォに対して O_CREAT フラグを指定せずに呼び出した場合、sem_open は明示的に SEM_FAILED を返し、errnoENOENT を設定するようになりました。

その結果、アプリケーションはこのエラー状態を確実に検出し、存在しないセマフォに対しても、予測可能かつ標準に準拠した方法で対処できるようになりました。

Jira:RHEL-119392[1]

入力ストリームおよび共有ファイル記述子における glibc の stdio フラッシュに関する問題が修正されました

今回のアップデート以前は、glibc の標準 I/O 実装は、入力ストリームをフラッシュする際に POSIX に完全に準拠していませんでした。これにより、ungetc 実行後の入力ストリームに対して fflush が誤動作するほか、fflush(NULL) として呼び出した際の挙動の不一致、さらに共有ファイル記述子や特殊文字デバイスに対して fclose を実行した際のファイルオフセットの誤正などが発生していました。

その結果、アプリケーションは、メモリーマップされた入力ファイルに対して fseekfflush を使用する際に、入力ストリームの状態に予期しない矛盾が生じたり、基礎となるファイル位置が不正確になったり、ファイルポジショニングエラーが発生したりすることがありました。これにより、データの誤読み取りや、特定が困難なデータ処理上のバグを引き起こす可能性がありました。

今回のリリースでは、glibc stdio ライブラリーが修正され、ungetc の後や fflush(NULL) として呼び出された場合も含め、fflush が POSIX に準拠した方法で入力ストリームを処理するようになりました。さらに、fclose は共有ファイル記述子の基盤となるファイルオフセットを更新し、特殊文字デバイスでも正常に動作するようになりました。また、メモリーマップされた入力ファイルに対する fseek および fflush のファイル位置制御ロジックも修正されました。

その結果、入力処理、共有ファイル記述子の使用、またはメモリーマップされた入力ファイルのために stdio に依存するアプリケーションは、アップデート後、予測可能かつ正しく動作するようになりました。

Jira:RHEL-119434[1]

glibc NSS データベース検索の安定性が向上しました

今回のアップデート以前は、glibc パッケージの __nss_database_get 関数においてチェック処理が不足していたため、Name Service Switch (NSS) データベースの検索中に null ポインター逆参照やアサーションの失敗が発生する可能性がありました。その結果、NSS に依存するアプリケーションが予期せず終了したり、特定の検索条件下で C ライブラリーがクラッシュしたりする恐れがありました。

今回のリリースでは、無効な内部状態や予期しない内部状態を安全に処理するために、glibc の NSS データベース検索パスにバリデーションチェックが追加されました。その結果、NSS データベースの検索がより堅牢になり、システムの安定性が向上しました。

Jira:RHEL-150270

検索パスが . に設定されている場合に、DNS クエリーが重複する問題を修正しました

今回のアップデート以前は、/etc/resolv.conf ファイルの Domain Name System (DNS) 検索パスに単一の . エントリーが含まれている場合、glibc DNS スタブリゾルバーは、元のドメイン名と末尾にドットが付いた同じドメイン名の両方をクエリーしていました。

その結果、存在しないドメインに対する DNS クエリーが重複し、DNS サーバーへの負荷が増加しました。

今回のアップデート後、glibc DNS スタブリゾルバーは、検索パスに単一の . エントリーのみが含まれている場合、ドメイン名の末尾にドットを追加しなくなりました。

これにより、この設定では DNS クエリーの重複がなくなり、不要な DNS トラフィックとサーバー負荷が軽減されました。

Jira:RHEL-142675

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る