diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp
index 7a8e029..958b213 100644
--- a/core/src/fpdftext/fpdf_text_int.cpp
+++ b/core/src/fpdftext/fpdf_text_int.cpp
@@ -1887,7 +1887,6 @@
         FX_WCHAR * pTempBuffer = m_TempTextBuf.GetBuffer();
         i = iBufStartAppend;
         j = m_TempTextBuf.GetLength() - 1;
-        FX_WCHAR wTemp;
         for (; i < j; i++, j--) {
             std::swap(pTempBuffer[i], pTempBuffer[j]);
         }
diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc
index 51199ea..b217f89 100644
--- a/samples/pdfium_test.cc
+++ b/samples/pdfium_test.cc
@@ -268,7 +268,7 @@
     return false;
   }
   options->exe_path = args[0];
-  int cur_idx = 1;
+  size_t cur_idx = 1;
   for (; cur_idx < args.size(); ++cur_idx) {
     const std::string& cur_arg = args[cur_idx];
     if (cur_arg == "--ppm") {
@@ -310,7 +310,7 @@
     fprintf(stderr, "No input files.\n");
     return false;
   }
-  for (int i = cur_idx; i < args.size(); i++) {
+  for (size_t i = cur_idx; i < args.size(); i++) {
     files->push_back(args[i]);
   }
   return true;
