Fixed warning with CHECK macro (additional semicolon)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 86b9d87..46322b0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,9 @@
 ### Added
 - Added `containerDepth` to avifDecoder for surfacing 10bpc/12bpc flags from av1C boxes, if present
 
+### Changed
+- Fixed warning with CHECK macro (additional semicolon)
+
 ## [0.4.0] - 2019-10-02
 ### Added
 - exposed util functions: `avifFullToLimitedY`, `avifFullToLimitedUV`, `avifLimitedToFullY`, `avifLimitedToFullUV`, `avifPrepareReformatState`
diff --git a/include/avif/internal.h b/include/avif/internal.h
index 412a1ea..adbc554 100644
--- a/include/avif/internal.h
+++ b/include/avif/internal.h
@@ -14,9 +14,11 @@
 #define AVIF_CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
 
 // Used by stream related things.
-#define CHECK(A) \
-    if (!(A))    \
-        return AVIF_FALSE;
+#define CHECK(A)               \
+    do {                       \
+        if (!(A))              \
+            return AVIF_FALSE; \
+    } while (0)
 
 // ---------------------------------------------------------------------------
 // URNs