--- a/server/server.c
+++ b/server/server.c
@@ -1942,12 +1942,12 @@
             text = (char*)malloc(strlen(protocol) - 11);
             memcpy(text, protocol, strlen(protocol) - 11);
             int length = strlen(protocol) - 11;
-            free(protocol);
             obfs = (char*)malloc(length);
             memset(protocol, 0x00, length);
             memcpy(protocol, text, length);
             LOGI("protocol compatible enable, %s", protocol);
             free(text);
+            free(protocol);
             protocol_compatible = 1;
         }
     }
