10.3. ソフトウェア管理
cr_compress_file_with_stat()
がメモリーリークを引き起こす可能性がある
createrepo_c
C ライブラリーには API cr_compress_file_with_stat()
関数があります。この関数は、char **dst
を 2 番目のパラメーターとして宣言します。他のパラメーターによって、cr_compress_file_with_stat()
は、入力パラメーターとして dst
を使用するか、割り当てられた文字列を返すために使用します。dst
の内容をいつ解放するかユーザーに通知しないため、この予測できない動作いよりメモリーリークが発生する可能性があります。
この問題を回避するために、dst
パラメーターを入力としてのみ使用する新しい API cr_compress_file_with_stat_v2
関数が追加されました。これは char *dst
として宣言されます。これにより、メモリーリークが回避されます。
cr_compress_file_with_stat_v2
関数は一時的で、RHEL 8 のみに存在することに注意してください。後で、cr_compress_file_with_stat()
が代わりに修正されます。
(BZ#1973588)
スクリプトレットが失敗したときに成功したと報告された YUM トランザクション
RPM バージョン 4.6 以降、インストール後のスクリプトレットは、トランザクションに致命的な影響を与えることなく失敗することが許可されています。この動作は YUM まで伝播します。これにより、スクリプトレットが作成され、パッケージトランザクション全体が成功したと報告されているときに失敗することがあります。
現在利用できる回避策はありません。
これは、RPM と YUM の間で一貫性を保つことが期待される動作であることに注意してください。スクリプトレットの問題は、パッケージレベルで対処する必要があります。
セキュリティー DNF のアップグレードでは、廃止されたパッケージをスキップできます
RHBA-2022:5816 アドバイザリーでリリースされた BZ#2095764 のパッチでは、次のリグレッションが導入されました。DNF アップグレードで--security
オプションのようなセキュリティーフィルターを使用すると、廃止されたパッケージのアップグレードをスキップすることができます。この問題は、インストール済みのパッケージが別の利用可能なパッケージによって廃止され、利用可能なパッケージのアドバイザリーが存在する場合に特に発生します。
その結果、dnf
は古いパッケージをシステムに残し、セキュリティーアップグレードが完全には実行されず、システムが脆弱な状態になる可能性があります。
この問題を回避するには、セキュリティーフィルターを使用せずに完全なアップグレードを実行するか、最初に、アップグレードプロセスに古いパッケージが含まれていないことを確認します。