More “rb” fixes
diff --git a/include/rive/relative_local_asset_resolver.hpp b/include/rive/relative_local_asset_resolver.hpp
index 598a5b7..63a7edb 100644
--- a/include/rive/relative_local_asset_resolver.hpp
+++ b/include/rive/relative_local_asset_resolver.hpp
@@ -25,7 +25,7 @@
 
         void loadContents(FileAsset& asset) override {
             std::string filename = m_Path + asset.uniqueFilename();
-            FILE* fp = fopen(filename.c_str(), "r");
+            FILE* fp = fopen(filename.c_str(), "rb");
 
             fseek(fp, 0, SEEK_END);
             const size_t length = ftell(fp);
diff --git a/test/instancing_test.cpp b/test/instancing_test.cpp
index c7a11fd..40fe2a5 100644
--- a/test/instancing_test.cpp
+++ b/test/instancing_test.cpp
@@ -9,7 +9,7 @@
 #include <cstdio>
 
 TEST_CASE("cloning an ellipse works", "[instancing]") {
-    FILE* fp = fopen("../../test/assets/circle_clips.riv", "r");
+    FILE* fp = fopen("../../test/assets/circle_clips.riv", "rb");
     REQUIRE(fp != nullptr);
 
     fseek(fp, 0, SEEK_END);
@@ -35,7 +35,7 @@
 }
 
 TEST_CASE("instancing artboard clones clipped properties", "[instancing]") {
-    FILE* fp = fopen("../../test/assets/circle_clips.riv", "r");
+    FILE* fp = fopen("../../test/assets/circle_clips.riv", "rb");
     REQUIRE(fp != nullptr);
 
     fseek(fp, 0, SEEK_END);
@@ -72,7 +72,7 @@
 }
 
 TEST_CASE("instancing artboard doesn't clone animations", "[instancing]") {
-    FILE* fp = fopen("../../test/assets/juice.riv", "r");
+    FILE* fp = fopen("../../test/assets/juice.riv", "rb");
     REQUIRE(fp != nullptr);
 
     fseek(fp, 0, SEEK_END);