diff --git a/core/fxcodec/jbig2/jbig2_decoder.h b/core/fxcodec/jbig2/jbig2_decoder.h
index c5a7ff7..91c78db 100644
--- a/core/fxcodec/jbig2/jbig2_decoder.h
+++ b/core/fxcodec/jbig2/jbig2_decoder.h
@@ -37,17 +37,18 @@
 
 class Jbig2Decoder {
  public:
-  static FXCODEC_STATUS StartDecode(Jbig2Context* pJbig2Context,
-                                    JBig2_DocumentContext* pDocumentContext,
-                                    uint32_t width,
-                                    uint32_t height,
-                                    pdfium::span<const uint8_t> src_span,
-                                    uint32_t src_objnum,
-                                    pdfium::span<const uint8_t> global_span,
-                                    uint32_t global_objnum,
-                                    uint8_t* dest_buf,
-                                    uint32_t dest_pitch,
-                                    PauseIndicatorIface* pPause);
+  static FXCODEC_STATUS StartDecode(
+      Jbig2Context* pJbig2Context,
+      JBig2_DocumentContext* pJbig2DocumentContext,
+      uint32_t width,
+      uint32_t height,
+      pdfium::span<const uint8_t> src_span,
+      uint32_t src_objnum,
+      pdfium::span<const uint8_t> global_span,
+      uint32_t global_objnum,
+      uint8_t* dest_buf,
+      uint32_t dest_pitch,
+      PauseIndicatorIface* pPause);
 
   static FXCODEC_STATUS ContinueDecode(Jbig2Context* pJbig2Context,
                                        PauseIndicatorIface* pPause);
diff --git a/core/fxcrt/cfx_timer.h b/core/fxcrt/cfx_timer.h
index f245607..af9d157 100644
--- a/core/fxcrt/cfx_timer.h
+++ b/core/fxcrt/cfx_timer.h
@@ -33,7 +33,7 @@
     virtual void OnTimerFired() = 0;
   };
 
-  CFX_Timer(HandlerIface* pTimerHandler,
+  CFX_Timer(HandlerIface* pHandlerIface,
             CallbackIface* pCallbackIface,
             int32_t nInterval);
   ~CFX_Timer();
diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc
index 26251fa..93af49f 100644
--- a/samples/pdfium_test.cc
+++ b/samples/pdfium_test.cc
@@ -621,7 +621,7 @@
       }
       options->pages = true;
       const std::string pages_string = value;
-      size_t first_dash = pages_string.find("-");
+      size_t first_dash = pages_string.find('-');
       if (first_dash == std::string::npos) {
         std::stringstream(pages_string) >> options->first_page;
         options->last_page = options->first_page;
