11.4. 소프트웨어 관리
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
함수가 추가되었습니다. 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 간에 일관성을 유지하는 것으로 예상되는 동작입니다. 스크립트릿의 모든 문제는 패키지 수준에서 해결되어야 합니다.