153aa9179Sopenharmony_ciFrom 1a6a9d6878ed00265941939adc468a517cd5ef36 Mon Sep 17 00:00:00 2001 253aa9179Sopenharmony_ciFrom: Nick Wellnhofer <wellnhofer@aevum.de> 353aa9179Sopenharmony_ciDate: Tue, 14 Mar 2023 14:19:03 +0100 453aa9179Sopenharmony_ciSubject: [PATCH] xzlib: Fix implicit sign change in xz_open 553aa9179Sopenharmony_ci 653aa9179Sopenharmony_ci 753aa9179Sopenharmony_ciReference:https://github.com/GNOME/libxml2/commit/1a6a9d6878ed00265941939adc468a517cd5ef36 853aa9179Sopenharmony_ciConflict:NA 953aa9179Sopenharmony_ci 1053aa9179Sopenharmony_ci--- 1153aa9179Sopenharmony_ci xzlib.c | 7 +++++-- 1253aa9179Sopenharmony_ci 1 file changed, 5 insertions(+), 2 deletions(-) 1353aa9179Sopenharmony_ci 1453aa9179Sopenharmony_cidiff --git a/xzlib.c b/xzlib.c 1553aa9179Sopenharmony_ciindex 9a34738..8d75590 100644 1653aa9179Sopenharmony_ci--- a/xzlib.c 1753aa9179Sopenharmony_ci+++ b/xzlib.c 1853aa9179Sopenharmony_ci@@ -139,6 +139,7 @@ static xzFile 1953aa9179Sopenharmony_ci xz_open(const char *path, int fd, const char *mode ATTRIBUTE_UNUSED) 2053aa9179Sopenharmony_ci { 2153aa9179Sopenharmony_ci xz_statep state; 2253aa9179Sopenharmony_ci+ off_t offset; 2353aa9179Sopenharmony_ci 2453aa9179Sopenharmony_ci /* allocate xzFile structure to return */ 2553aa9179Sopenharmony_ci state = xmlMalloc(sizeof(xz_state)); 2653aa9179Sopenharmony_ci@@ -173,9 +174,11 @@ xz_open(const char *path, int fd, const char *mode ATTRIBUTE_UNUSED) 2753aa9179Sopenharmony_ci } 2853aa9179Sopenharmony_ci 2953aa9179Sopenharmony_ci /* save the current position for rewinding (only if reading) */ 3053aa9179Sopenharmony_ci- state->start = lseek(state->fd, 0, SEEK_CUR); 3153aa9179Sopenharmony_ci- if (state->start == (uint64_t) - 1) 3253aa9179Sopenharmony_ci+ offset = lseek(state->fd, 0, SEEK_CUR); 3353aa9179Sopenharmony_ci+ if (offset == -1) 3453aa9179Sopenharmony_ci state->start = 0; 3553aa9179Sopenharmony_ci+ else 3653aa9179Sopenharmony_ci+ state->start = offset; 3753aa9179Sopenharmony_ci 3853aa9179Sopenharmony_ci /* initialize stream */ 3953aa9179Sopenharmony_ci xz_reset(state); 4053aa9179Sopenharmony_ci-- 4153aa9179Sopenharmony_ci2.27.0 4253aa9179Sopenharmony_ci 43