diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -151,9 +151,9 @@
 use the following command:
 
 ```bash
-$ docker run --rm -i -v ./your/path/to/hadolint.yaml:/root/.config/hadolint.yaml hadolint/hadolint < Dockerfile
+$ docker run --rm -i -v /your/path/to/hadolint.yaml:/.config/hadolint.yaml hadolint/hadolint < Dockerfile
 # or
-$ docker run --rm -i -v ./your/path/to/hadolint.yaml:/root/.config/hadolint.yaml ghcr.io/hadolint/hadolint < Dockerfile
+$ docker run --rm -i -v /your/path/to/hadolint.yaml:/.config/hadolint.yaml ghcr.io/hadolint/hadolint < Dockerfile
 ```
 
 ## Inline ignores
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -108,10 +108,10 @@
       option
         (maybeReader toNofailSeverity)
         ( short 't'
-            <> long "failure-theshold"
+            <> long "failure-threshold"
             <> help
               "Exit with failure code only when rules with a severity \
-              \above THRESHOLD are violated. Accepted values: \
+              \equal to or above THRESHOLD are violated. Accepted values: \
               \[error | warning | info | style | ignore | none]"
             <> value Rule.DLInfoC
             <> metavar "THRESHOLD"
diff --git a/hadolint.cabal b/hadolint.cabal
--- a/hadolint.cabal
+++ b/hadolint.cabal
@@ -1,13 +1,13 @@
 cabal-version: 2.0
 
--- This file has been generated from package.yaml by hpack version 0.33.0.
+-- This file has been generated from package.yaml by hpack version 0.34.4.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 0122b347f3d7e60bbead61f38f32acd69b57e1794597b5243bb2b6cabf2a358f
+-- hash: 81ce3bbf6ac259bb1aeda5e670d68ec5cbcb3bf9d955d085de125eb4e39f3fc8
 
 name:           hadolint
-version:        2.4.0
+version:        2.4.1
 synopsis:       Dockerfile Linter JavaScript API
 description:    A smarter Dockerfile linter that helps you build best practice Docker images.
 category:       Development
@@ -119,7 +119,15 @@
       Paths_hadolint
   hs-source-dirs:
       src
-  default-extensions: OverloadedStrings NamedFieldPuns DeriveGeneric DeriveAnyClass RecordWildCards StrictData ScopedTypeVariables PatternSynonyms
+  default-extensions:
+      OverloadedStrings
+      NamedFieldPuns
+      DeriveGeneric
+      DeriveAnyClass
+      RecordWildCards
+      StrictData
+      ScopedTypeVariables
+      PatternSynonyms
   ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -optP-Wno-nonportable-include-path -flate-dmd-anal
   build-depends:
       Cabal
@@ -158,7 +166,16 @@
       Paths_hadolint
   hs-source-dirs:
       app
-  default-extensions: OverloadedStrings NamedFieldPuns DeriveGeneric DeriveAnyClass RecordWildCards StrictData ScopedTypeVariables PatternSynonyms TemplateHaskell
+  default-extensions:
+      OverloadedStrings
+      NamedFieldPuns
+      DeriveGeneric
+      DeriveAnyClass
+      RecordWildCards
+      StrictData
+      ScopedTypeVariables
+      PatternSynonyms
+      TemplateHaskell
   ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -optP-Wno-nonportable-include-path -flate-dmd-anal -O2 -threaded -rtsopts "-with-rtsopts=-N5 -A4m"
   build-depends:
       base >=4.8 && <5
@@ -251,7 +268,17 @@
       Paths_hadolint
   hs-source-dirs:
       test
-  default-extensions: OverloadedStrings NamedFieldPuns DeriveGeneric DeriveAnyClass RecordWildCards StrictData ScopedTypeVariables PatternSynonyms ImplicitParams OverloadedLists
+  default-extensions:
+      OverloadedStrings
+      NamedFieldPuns
+      DeriveGeneric
+      DeriveAnyClass
+      RecordWildCards
+      StrictData
+      ScopedTypeVariables
+      PatternSynonyms
+      ImplicitParams
+      OverloadedLists
   ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -optP-Wno-nonportable-include-path -flate-dmd-anal
   build-depends:
       HUnit >=1.2
diff --git a/src/Hadolint/Rule/DL3045.hs b/src/Hadolint/Rule/DL3045.hs
--- a/src/Hadolint/Rule/DL3045.hs
+++ b/src/Hadolint/Rule/DL3045.hs
@@ -85,5 +85,7 @@
 
 isWindowsAbsolute :: Text.Text -> Bool
 isWindowsAbsolute path
-  | Char.isLetter (Text.index path 0) && (':' == Text.index path 1) = True
+  | Just (d, r1) <- Text.uncons path,
+    Just (c, _) <- Text.uncons r1,
+    Char.isLetter d && ':' == c = True
   | otherwise = False
diff --git a/test/DL3045.hs b/test/DL3045.hs
--- a/test/DL3045.hs
+++ b/test/DL3045.hs
@@ -150,3 +150,7 @@
        in do
             ruleCatchesNot "DL3045" dockerFile
             onBuildRuleCatchesNot "DL3045" dockerFile
+
+    it "regression: don't crash with single character paths" $ do
+      ruleCatches "DL3045" "COPY a b"
+      onBuildRuleCatches "DL3045" "COPY a b"
