[Bugfix][T106BUG-410]when AT exited abnormally, GPIO50 cannot be initialized again

Only Configure:No
Affected branch:master
Affected module:factory
Is it affected on both ZXIC and MTK:only ZXIC
Self-test:Yes
Doc Update:NO

Change-Id: I27febf9fcd1170976e512b7321b34a1266e6003c
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-at-factory/liblynq-at-factory.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-at-factory/liblynq-at-factory.cpp
index 612d968..cc26db6 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-at-factory/liblynq-at-factory.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-at-factory/liblynq-at-factory.cpp
@@ -229,7 +229,7 @@
     int greep = input[0] - '0';

     ALOGD(res,"the greep:%d\n",greep);//The first digit represents grouping

 

-    for (int i = 1; input[i] != '\0'; i++)

+    for (int i = 1; i < strlen(input); i++)

     {

         int num = 0;

         for (; input[i] != ',' && input[i] != '\0'; i++)

@@ -422,6 +422,7 @@
     if((valid_length = lynq_gpio_analysis(input, lynq_gpio_arr, lynq_gpio_total_arr, total_length)) < 0)

     {

         lynq_response_error(100);

+        all_gpio_uninit(total_length, lynq_gpio_total_arr);

         return;

     }

     ALOGE("The Valid count:%d\n",valid_length);

@@ -451,6 +452,7 @@
                 {

                     ALOGE("gpio init or uninit fail\n");

                     lynq_response_error(100);

+                    all_gpio_uninit(total_length, lynq_gpio_total_arr);

                     return;

                 }

                 ALOGD("finsh configure function\n");