Better check for memory allocation failure
authorjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Thu, 26 May 2005 04:09:21 +0000 (04:09 +0000)
committerjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Thu, 26 May 2005 04:09:21 +0000 (04:09 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@9315 0101bb08-14d6-0310-b084-bc0e0c8e3800

libspeex/nb_celp.c
libspeex/sb_celp.c

index 77887fe..24dc30b 100644 (file)
@@ -97,13 +97,15 @@ void *nb_encoder_init(const SpeexMode *m)
    mode=(const SpeexNBMode *)m->mode;
 #if defined(VAR_ARRAYS) || defined (USE_ALLOCA)
    st = (EncState*)speex_alloc(sizeof(EncState));
+   if (!st)
+      return NULL;
    st->stack = NULL;
 #else
    st = (EncState*)speex_alloc(sizeof(EncState)+8000*sizeof(spx_sig_t));
-   st->stack = ((char*)st) + sizeof(EncState);
-#endif
    if (!st)
       return NULL;
+   st->stack = ((char*)st) + sizeof(EncState);
+#endif
    
    st->mode=m;
 
@@ -937,13 +939,15 @@ void *nb_decoder_init(const SpeexMode *m)
    mode=(const SpeexNBMode*)m->mode;
 #if defined(VAR_ARRAYS) || defined (USE_ALLOCA)
    st = (DecState *)speex_alloc(sizeof(DecState));
+   if (!st)
+      return NULL;
    st->stack = NULL;
 #else
    st = (DecState *)speex_alloc(sizeof(DecState)+4000*sizeof(spx_sig_t));
-   st->stack = ((char*)st) + sizeof(DecState);
-#endif
    if (!st)
       return NULL;
+   st->stack = ((char*)st) + sizeof(DecState);
+#endif
 
    st->mode=m;
 
index ee755ae..47c8296 100644 (file)
@@ -218,13 +218,15 @@ void *sb_encoder_init(const SpeexMode *m)
 
 #if defined(VAR_ARRAYS) || defined (USE_ALLOCA)
    st = (SBEncState*)speex_alloc(sizeof(SBEncState));
+   if (!st)
+      return NULL;
    st->stack = NULL;
 #else
    st = (SBEncState*)speex_alloc(sizeof(SBEncState)+10000*sizeof(spx_sig_t));
-   st->stack = ((char*)st) + sizeof(SBEncState);
-#endif
    if (!st)
       return NULL;
+   st->stack = ((char*)st) + sizeof(SBEncState);
+#endif
    st->mode = m;
    mode = (const SpeexSBMode*)m->mode;
 
@@ -785,13 +787,15 @@ void *sb_decoder_init(const SpeexMode *m)
    const SpeexSBMode *mode;
 #if defined(VAR_ARRAYS) || defined (USE_ALLOCA)
    st = (SBDecState*)speex_alloc(sizeof(SBDecState));
+   if (!st)
+      return NULL;
    st->stack = NULL;
 #else   
    st = (SBDecState*)speex_alloc(sizeof(SBDecState)+6000*sizeof(spx_sig_t));
-   st->stack = ((char*)st) + sizeof(SBDecState);
-#endif
    if (!st)
       return NULL;
+   st->stack = ((char*)st) + sizeof(SBDecState);
+#endif
    st->mode = m;
    mode=(const SpeexSBMode*)m->mode;