diff --git a/celt/celt.c b/celt/celt.c
index 1b6a2f70b741c5b5aeb58ed4db0365954fb3f142..44732a20933069afe66c196cccb1fd5941e453ed 100644
--- a/celt/celt.c
+++ b/celt/celt.c
@@ -2742,7 +2742,7 @@ int opus_custom_decoder_ctl(CELTDecoder * restrict st, int request, ...)
       break;
       case CELT_GET_AND_CLEAR_ERROR_REQUEST:
       {
-         int *value = va_arg(ap, opus_int32*);
+         opus_int32 *value = va_arg(ap, opus_int32*);
          if (value==NULL)
             goto bad_arg;
          *value=st->error;
@@ -2751,7 +2751,7 @@ int opus_custom_decoder_ctl(CELTDecoder * restrict st, int request, ...)
       break;
       case OPUS_GET_LOOKAHEAD_REQUEST:
       {
-         int *value = va_arg(ap, opus_int32*);
+         opus_int32 *value = va_arg(ap, opus_int32*);
          if (value==NULL)
             goto bad_arg;
          *value = st->overlap/st->downsample;
@@ -2774,7 +2774,7 @@ int opus_custom_decoder_ctl(CELTDecoder * restrict st, int request, ...)
       break;
       case OPUS_GET_PITCH_REQUEST:
       {
-         int *value = va_arg(ap, opus_int32*);
+         opus_int32 *value = va_arg(ap, opus_int32*);
          if (value==NULL)
             goto bad_arg;
          *value = st->postfilter_period;
diff --git a/src/opus_decoder.c b/src/opus_decoder.c
index 8a3a7237629b8e1d3d5c0539a0c4a3ec2103fadc..ed2f8c7307b5a0031cabdba2b2a899496f04ce38 100644
--- a/src/opus_decoder.c
+++ b/src/opus_decoder.c
@@ -830,7 +830,7 @@ int opus_decoder_ctl(OpusDecoder *st, int request, ...)
    break;
    case OPUS_GET_PITCH_REQUEST:
    {
-      int *value = va_arg(ap, opus_int32*);
+      opus_int32 *value = va_arg(ap, opus_int32*);
       if (value==NULL)
       {
          ret = OPUS_BAD_ARG;
diff --git a/src/opus_private.h b/src/opus_private.h
index c79e4b39f60984520e28ddbd8a35f49a965d085b..8e6528d612aba65a0f0a5bcbebd6e9a3ae67bcc4 100644
--- a/src/opus_private.h
+++ b/src/opus_private.h
@@ -81,6 +81,6 @@ static inline int align(int i)
     return (i+3)&-4;
 }
 
-int opus_repacketizer_out_range_impl(OpusRepacketizer *rp, int begin, int end, unsigned char *data, int maxlen, int self_delimited);
+int opus_repacketizer_out_range_impl(OpusRepacketizer *rp, int begin, int end, unsigned char *data, opus_int32 maxlen, int self_delimited);
 
 #endif /* OPUS_PRIVATE_H */