11.3. 소프트웨어 관리
cr_compress_file_with_stat()
로 인해 메모리 누수가 발생할 수 있습니다.
createrepo_c
C 라이브러리에는 API cr_compress_file_with_stat()
함수가 있습니다. 이 함수는 char **dst
를 두 번째 매개변수로 선언합니다. 다른 매개변수에 따라 cr_compress_file_with_stat()
는 dst
를 입력 매개 변수로 사용하거나 할당된 문자열을 반환하는 데 사용합니다. 이 예기치 않은 동작은 사용자에게 dst
콘텐츠를 해제 할 때 알리지 않기 때문에 메모리 누수를 유발할 수 있습니다.
이 문제를 해결하기 위해 dst
매개변수를 입력으로 사용하는 새로운 API cr_compress_file_with_stat_v2
함수가 추가되었습니다. .이(는)신으로 선언됩니다. *dst
. 이렇게 하면 메모리 누수를 방지할 수 있습니다.
cr_compress_file_with_stat_v2
기능은 임시이며 RHEL 8에서만 제공됩니다. 나중에 cr_compress_file_with_stat()
가 대신 수정됩니다.
Bugzilla:1973588
스크립트가 실패할 때 YUM 트랜잭션이 성공한 것으로 보고됨
RPM 버전 4.6부터 트랜잭션에 치명적이지 않고 설치 후 스크립트가 실패할 수 있습니다. 이 동작은 YUM에도 전파됩니다. 이렇게 하면 전체 패키지 트랜잭션이 성공한 것으로 보고되는 동안 가끔 실패할 수 있는 스크립트가 생성됩니다.
현재는 해결방법이 없습니다.
이 동작은 RPM과 YUM 간에 일관되게 유지되는 것으로 예상됩니다. scriptlets의 문제는 패키지 수준에서 해결되어야 합니다.