diff --git a/libavcodec/bgmc.c b/libavcodec/bgmc.c
index e4f937cac1cd828d552700a7de4208dec6530acc..8b84ebfa95ca3d32980a8f801cab9259014aedb6 100644
--- a/libavcodec/bgmc.c
+++ b/libavcodec/bgmc.c
@@ -458,8 +458,8 @@ static uint8_t *bgmc_lut_getp(uint8_t *lut, int *lut_status, int delta)
 /** Initialize the lookup table arrays */
 int ff_bgmc_init(AVCodecContext *avctx, uint8_t **cf_lut, int **cf_lut_status)
 {
-    *cf_lut        = av_malloc(sizeof(*cf_lut)        * LUT_BUFF * 16 * LUT_SIZE);
-    *cf_lut_status = av_malloc(sizeof(*cf_lut_status) * LUT_BUFF);
+    *cf_lut        = av_malloc(sizeof(**cf_lut)        * LUT_BUFF * 16 * LUT_SIZE);
+    *cf_lut_status = av_malloc(sizeof(**cf_lut_status) * LUT_BUFF);
 
     if (!cf_lut || !cf_lut_status) {
         ff_bgmc_end(cf_lut, cf_lut_status);
@@ -467,7 +467,7 @@ int ff_bgmc_init(AVCodecContext *avctx, uint8_t **cf_lut, int **cf_lut_status)
         return AVERROR(ENOMEM);
     } else {
         // initialize lut_status buffer to a value never used to compare against
-        memset(*cf_lut_status, -1, sizeof(*cf_lut_status) * LUT_BUFF);
+        memset(*cf_lut_status, -1, sizeof(**cf_lut_status) * LUT_BUFF);
     }
 
     return 0;