diff --git a/wallfacer/verify/enclave/host/main.cpp b/wallfacer/verify/enclave/host/main.cpp index a74a5ce6607f1222aa3db152a0a6a6a6f4343229..64fa8cc5565af59f1e2877ea8f1ff790497f9651 100644 --- a/wallfacer/verify/enclave/host/main.cpp +++ b/wallfacer/verify/enclave/host/main.cpp @@ -1,6 +1,5 @@ #include #include"enclave.h" -#include #include #include"Enclave1_u.h" @@ -30,22 +29,16 @@ uint32_t transferToU32(char* src,int base=10) { } char tmpresult[512]; -char* transferFromString(string src) { - int siz = src.length(); - if (siz < 512) { - for (int i = 0; i <= siz; i++) { - tmpresult[i] = src[i]; - } - } - return tmpresult; +char* transferFromString(const string& src) { + return new char[src.length() + 1]; } int main(int argc, char* argv[]) { cc_enclave_t *eid; cc_enclave_result_t ret; - char *path = transferFromString(PATH); + string path = PATH; - ret = cc_enclave_create(path, AUTO_ENCLAVE_TYPE, 0, SECGEAR_DEBUG_FLAG, NULL, 0, &eid); + ret = cc_enclave_create(path.c_str(), AUTO_ENCLAVE_TYPE, 0, SECGEAR_DEBUG_FLAG, NULL, 0, &eid); if (ret != CC_SUCCESS) { printf("ERR: %#x ,failed to create enclave.\n", ret); return -1; @@ -53,7 +46,7 @@ int main(int argc, char* argv[]) { char buffer[MAX_LEN]; uint32_t uints[2] = {}; if (argc > 1) { - if(strcmp(argv[1],"initServer")==0){ + if(src == "initServer"){ uints[0] = transferToU32(argv[4]); initKeys(eid, uints); setN(eid, argv[3], strlen(argv[3]) + 1); @@ -63,7 +56,7 @@ int main(int argc, char* argv[]) { getKeys(eid, uints); printf("%u\n%u\n", uints[0], uints[1]); } - else if(strcmp(argv[1], "passwordEncryption") == 0){ + else if(src == "passwordEncryption") == 0){ setN(eid, argv[4], strlen(argv[4]) + 1); setCD(eid, argv[3], strlen(argv[3]) + 1); setRSAsource(eid, argv[2], strlen(argv[2]) + 1); @@ -72,7 +65,7 @@ int main(int argc, char* argv[]) { getRSAresult(eid, buffer, MAX_LEN); printf("%s\n", buffer); } - else if(strcmp(argv[1], "embedding") == 0){ + else if(src == "embedding") == 0){ setN(eid, argv[5], strlen(argv[5]) + 1); setCD(eid, argv[4], strlen(argv[4]) + 1); setNPW(eid, argv[3], strlen(argv[3]) + 1); @@ -98,4 +91,4 @@ int main(int argc, char* argv[]) { return -1; } return 0; -} +} \ No newline at end of file