11.4. ソフトウェア管理
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()
が代わりに修正されます。
Bugzilla:1973588[1]
スクリプトレットが失敗したときに成功したと報告された YUM トランザクション
RPM バージョン 4.6 以降、インストール後のスクリプトレットは、トランザクションに致命的な影響を与えることなく失敗することが許可されています。この動作は YUM まで伝播します。これにより、スクリプトレットが作成され、パッケージトランザクション全体が成功したと報告されているときに失敗することがあります。
現在利用できる回避策はありません。
これは、RPM と YUM の間で一貫性を保つことが期待される動作であることに注意してください。スクリプトレットの問題は、パッケージレベルで対処する必要があります。