if (!strncmp(szMsgBegin, "VCARD", strlen("VCARD"))) {
VDATA_TRACE("pVTree: %s", pVTree);
pVCard = vcard_decode(pVTree);
- if (pCurrent) {
+ if (pCurrent)
pCurrent->pNext = pVCard;
- }
pCurrent = pVCard;
dLen = ((strstr(pMsgRaw, "END:VCARD") + 9) - pMsgRaw);
pMsgRaw += dLen;
} else {
if (!strncmp(szMsgBegin, "VMSG", strlen("VMSG"))) {
- if ((pVMsg = (VTree*)calloc(1, sizeof(VTree))) == NULL) {
+ if ((pVMsg = (VTree*)calloc(1, sizeof(VTree))) == NULL)
goto CATCH;
- }
memset(pVMsg, 0x00, sizeof(VTree));
pVMsg->treeType = VMESSAGE;
pVMsg->pNext = NULL;
pCurrent = pVMsg;
} else if (!strncmp(szMsgBegin, "VBODY", strlen("VBODY"))) {
- if ((pVBody = (VTree*)calloc(1, sizeof(VTree))) == NULL) {
+ if ((pVBody = (VTree*)calloc(1, sizeof(VTree))) == NULL)
goto CATCH;
- }
memset(pVBody, 0x00, sizeof(VTree));
pVBody->treeType = VBODY;
if ((pTemp = (VObject*)calloc(1, sizeof(VObject))) == NULL)
goto CATCH;
-
- memset(pTemp, 0, sizeof(VObject));
pTemp->property = type;
if (pCurrent) {
pCurrent->pCur->pSibling = pTemp;
pCurrent->pCur = pTemp;
}
+ } else {
+ free(pTemp);
+ pTemp = NULL;
}
break;
pMsgRaw += dLen;
if (param_status != true) {
-
if ((pTmpParam = (VParam*)calloc(1, sizeof(VParam))) == NULL)
goto CATCH;
- param_status = true;
- if (pCurrent)
+ if (pCurrent) {
pCurrent->pCur->pParam = pTmpParam;
- memset(pTmpParam, 0x00, sizeof(VParam));
+ param_status = true;
+ } else {
+ VDATA_TRACE("pCurrent is NULL");
+ goto CATCH;
+ }
VDATA_TRACE("pTmpParam : %p", pTmpParam);
} else {
if ((pTmpParam->pNext = (VParam*)calloc(1, sizeof(VParam))) == NULL)
goto CATCH;
pTmpParam = pTmpParam->pNext;
- memset(pTmpParam, 0x00, sizeof(VParam));
VDATA_TRACE("pTmpParam : %p", pTmpParam);
}
int total = 0;
int cnt = 0;
- if (!pVMsgRaw || !pVMsgRaw->pTop) {
+ if (!pVMsgRaw || !pVMsgRaw->pTop)
return NULL;
- }
for (; cnt < pVMsgRaw->pTop->valueCount; cnt++) {
-
if (pVMsgRaw->pTop->pszValue[cnt] == NULL) {
VDATA_TRACE("pVMsgRaw->pTop->valueCount : %d", pVMsgRaw->pTop->valueCount);
VDATA_TRACE("pVMsgRaw->pTop->pszValue[%d] : %s", cnt, pVMsgRaw->pTop->pszValue[cnt]);