]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
rar: Fix Visual Studio compiler warning (#2188)
authorTobias Stoeckmann <stoeckmann@users.noreply.github.com>
Mon, 3 Jun 2024 03:06:31 +0000 (05:06 +0200)
committerGitHub <noreply@github.com>
Mon, 3 Jun 2024 03:06:31 +0000 (20:06 -0700)
Fixes the following warning:

warning C4244: '=': conversion from 'int64_t' to 'size_t', possible loss
of data

libarchive/archive_read_support_format_rar.c

index 054b47ad0c8a4c4eacaa4ed54d610af2fb010681..157836b4218447f2bd70bc6b9f1f4cf6077547be 100644 (file)
@@ -3388,7 +3388,7 @@ run_filters(struct archive_read *a)
   if (filters == NULL || filter == NULL)
     return (0);
 
-  start = filters->filterstart;
+  start = (size_t)filters->filterstart;
   end = start + filter->blocklength;
 
   filters->filterstart = INT64_MAX;
@@ -3428,7 +3428,7 @@ run_filters(struct archive_read *a)
   ret = copy_from_lzss_window(a, filters->vm->memory, start, filter->blocklength);
   if (ret != ARCHIVE_OK)
     return 0;
-  if (!execute_filter(a, filter, filters->vm, rar->offset))
+  if (!execute_filter(a, filter, filters->vm, (size_t)rar->offset))
     return 0;
 
   lastfilteraddress = filter->filteredblockaddress;
@@ -3440,7 +3440,7 @@ run_filters(struct archive_read *a)
   while ((filter = filters->stack) != NULL && (int64_t)filter->blockstartpos == filters->filterstart && filter->blocklength == lastfilterlength)
   {
     memmove(&filters->vm->memory[0], &filters->vm->memory[lastfilteraddress], lastfilterlength);
-    if (!execute_filter(a, filter, filters->vm, rar->offset))
+    if (!execute_filter(a, filter, filters->vm, (size_t)rar->offset))
       return 0;
 
     lastfilteraddress = filter->filteredblockaddress;