This fixes a budget overrun and segfault for unreasonably low bitrates.
[opus.git] / libcelt / celt_types.h
index 9adb569..b6a4fd7 100644 (file)
@@ -23,7 +23,7 @@
 #define _CELT_TYPES_H
 
 /* Use the real stdint.h if it's there (taken from Paul Hsieh's pstdint.h) */
-#if (defined(__STDC__) && __STDC__ && __STDC_VERSION__ >= 199901L) || (defined(__GNUC__) && (defined(_STDINT_H) || defined(_STDINT_H_)) )
+#if (defined(__STDC__) && __STDC__ && __STDC_VERSION__ >= 199901L) || (defined(__GNUC__) && (defined(_STDINT_H) || defined(_STDINT_H_)) || defined (HAVE_STDINT_H))
 #include <stdint.h>
 
    typedef int16_t celt_int16_t;
    /* Give up, take a reasonable guess */
    typedef short celt_int16_t;
    typedef unsigned short celt_uint16_t;
-   typedef long celt_int32_t;
-   typedef unsigned long celt_uint32_t;
+   typedef int celt_int32_t;
+   typedef unsigned int celt_uint32_t;
    typedef long long celt_int64_t;
    typedef unsigned long long celt_uint64_t;