diff --git a/third_party/g7221/common/basic_op.c b/third_party/g7221/common/basic_op.c
index bf7583a..d4c1530 100644
--- a/third_party/g7221/common/basic_op.c
+++ b/third_party/g7221/common/basic_op.c
@@ -1714,7 +1714,7 @@
 UWord32 LU_shl (UWord32 L_var1, Word16 var2)
 {
     Word16 neg_var2;
-    UWord32 L_var_out;
+    UWord32 L_var_out = 0;
 
     if (var2 <= 0)
     {
diff --git a/third_party/ilbc/iCBSearch.c b/third_party/ilbc/iCBSearch.c
index dfbc50b..e0442bf 100644
--- a/third_party/ilbc/iCBSearch.c
+++ b/third_party/ilbc/iCBSearch.c
@@ -234,22 +234,20 @@
 
            /* unrestricted search */
 
-           if (CB_RESRANGE == -1) {
+#	   if CB_RESRANGE == -1
+           //if (CB_RESRANGE == -1) {
                sInd=0;
                eInd=range-1;
                sIndAug=20;
                eIndAug=39;
-           }
+           //}
 
-
-
-
-
+#	   else
 
            /* restricted search around best index from first
            codebook section */
 
-           else {
+           //else {
                /* Initialize search indices */
                sIndAug=0;
                eIndAug=0;
@@ -307,7 +305,10 @@
                        eInd = range;
                    }
                }
-           }
+
+           //}
+#	   endif /* CB_RESRANGE == -1 */
+
 
            /* search of higher codebook section */
 
diff --git a/third_party/srtp/crypto/math/datatypes.c b/third_party/srtp/crypto/math/datatypes.c
index 61bf34f..331aed8 100644
--- a/third_party/srtp/crypto/math/datatypes.c
+++ b/third_party/srtp/crypto/math/datatypes.c
@@ -149,10 +149,9 @@
   case ('E'): return 0xe;
   case ('f'): return 0xf;
   case ('F'): return 0xf;
-  default: return -1;   /* this flags an error */
+  default: break;   /* this flags an error */
   }
-  /* NOTREACHED */
-  return -1;  /* this keeps compilers from complaining */
+  return -1;
 }
 
 int
diff --git a/third_party/srtp/include/srtp_priv.h b/third_party/srtp/include/srtp_priv.h
index 1c7a115..9214a65 100644
--- a/third_party/srtp/include/srtp_priv.h
+++ b/third_party/srtp/include/srtp_priv.h
@@ -100,10 +100,6 @@
 
 #endif
 
-#ifdef _MSC_VER
-#   pragma warning( pop ) 
-#endif
-
 
 typedef struct {
   uint16_t profile_specific;    /* profile-specific info               */
@@ -166,6 +162,11 @@
 #endif
 
 
+#ifdef _MSC_VER
+#   pragma warning( pop ) 
+#endif
+
+
 /*
  * the following declarations are libSRTP internal functions 
  */
