Changeset 350
- Timestamp:
- 02/01/08 14:49:47 (10 months ago)
- Files:
-
- trunk/libsyncml/sml_elements.c (modified) (20 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libsyncml/sml_elements.c
r338 r350 89 89 90 90 if (loc->locURI) 91 g_free(loc->locURI);91 smlSafeCFree(&(loc->locURI)); 92 92 93 93 if (loc->locName) 94 g_free(loc->locName);94 smlSafeCFree(&(loc->locName)); 95 95 96 g_free(loc);96 smlSafeFree((gpointer *)&loc); 97 97 } 98 98 … … 117 117 smlAssert(name); 118 118 if (loc->locName) 119 g_free(loc->locName);119 smlSafeCFree(&(loc->locName)); 120 120 loc->locName = g_strdup(name); 121 121 } … … 148 148 149 149 if (target->locURI) 150 g_free(target->locURI);150 smlSafeCFree(&(target->locURI)); 151 151 152 152 if (target->locName) 153 g_free(target->locName);153 smlSafeCFree(&(target->locName)); 154 154 155 155 target->locURI = g_strdup(source->locURI); … … 168 168 char *buffer = g_strndup(output, g_strrstr(output, needle) - output); 169 169 char *buffer2 = g_strconcat(buffer, replacement ? replacement : "", g_strrstr(output, needle) + strlen(needle), NULL); 170 g_free(output);170 smlSafeCFree(&output); 171 171 output = buffer2; 172 g_free(buffer);172 smlSafeCFree(&buffer); 173 173 } 174 174 … … 185 185 char *buffer = strreplace(url, "./", ""); 186 186 char *buffer2 = strreplace(buffer, "//", "/"); 187 g_free(buffer);187 smlSafeCFree(&buffer); 188 188 189 189 if (buffer2[strlen(buffer2) - 1] == '/') … … 219 219 buffer = g_strconcat(urlroot->locURI, "/", buffer2, NULL); 220 220 cmpurl = normalizeUrl(buffer); 221 g_free(buffer);222 g_free(buffer2);221 smlSafeCFree(&buffer); 222 smlSafeCFree(&buffer2); 223 223 } 224 224 … … 229 229 buffer = g_strconcat(objectroot->locURI, "/", buffer2, NULL); 230 230 cmpobjurl = normalizeUrl(buffer); 231 g_free(buffer);232 g_free(buffer2);231 smlSafeCFree(&buffer); 232 smlSafeCFree(&buffer2); 233 233 } 234 234 … … 241 241 ret = TRUE; 242 242 243 g_free(cmpobjurl);244 g_free(cmpurl);243 smlSafeCFree(&cmpobjurl); 244 smlSafeCFree(&cmpurl); 245 245 246 246 smlTrace(TRACE_EXIT, "%s: %i", __func__, ret); … … 279 279 smlAssert(anchor); 280 280 if (anchor->last) 281 g_free(anchor->last);281 smlSafeCFree(&(anchor->last)); 282 282 283 283 if (anchor->next) 284 g_free(anchor->next);285 286 g_free(anchor);284 smlSafeCFree(&(anchor->next)); 285 286 smlSafeFree((gpointer *)&anchor); 287 287 288 288 smlTrace(TRACE_EXIT, "%s", __func__); … … 294 294 295 295 if (header->sessionID) 296 g_free(header->sessionID);296 smlSafeCFree(&(header->sessionID)); 297 297 298 298 if (header->emi) 299 g_free(header->emi);299 smlSafeCFree(&(header->emi)); 300 300 301 301 if (header->source) … … 305 305 smlLocationUnref(header->target); 306 306 307 g_free(header);307 smlSafeFree((gpointer *)&header); 308 308 309 309 smlTrace(TRACE_EXIT, "%s", __func__); … … 385 385 386 386 if (item->contenttype) 387 g_free(item->contenttype); 388 389 g_free(item); 390 item = NULL; 387 smlSafeCFree(&(item->contenttype)); 388 389 smlSafeFree((gpointer *)&item); 391 390 } 392 391 … … 586 585 char *plain = g_strjoin(":", username, password, NULL); 587 586 data = g_base64_encode(plain, strlen(plain)); 588 g_free(plain);587 smlSafeCFree(&plain); 589 588 } else if (type == SML_AUTH_TYPE_MD5) { 590 589 char *plain = g_strjoin(":", username, password, NULL); 591 590 unsigned char digest[16]; 592 591 smlMD5GetDigest(plain, strlen(plain), digest); 593 g_free(plain);592 smlSafeCFree(&plain); 594 593 data = smlMD5ToString(digest, NULL); 595 g_free(digest);594 // digest must not be freed because it is a char array 596 595 } else { 597 596 smlErrorSet(error, SML_ERROR_GENERIC, "Unknown type - %s (%s).", type, __func__); … … 603 602 // the username is not readable from data => REQUIRED (e.g. syncml:auth-md5) 604 603 SmlCred *cred = smlCredNew(type, format, data, username, error); 605 g_free(data);604 smlSafeCFree(&data); 606 605 607 606 smlTrace(TRACE_EXIT, "%s", __func__); … … 609 608 error: 610 609 if (data) 611 g_free(data);610 smlSafeCFree(&data); 612 611 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); 613 612 return NULL; … … 639 638 error: 640 639 if (cred->data) 641 g_free(cred->data);640 smlSafeCFree(&(cred->data)); 642 641 if (cred->locName) 643 g_free(cred->locName);642 smlSafeCFree(&(cred->locName)); 644 643 if (cred) 645 g_free(cred);644 smlSafeFree((gpointer *)&cred); 646 645 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); 647 646 return NULL; … … 668 667 669 668 if (cred->data) 670 g_free(cred->data);669 smlSafeCFree(&(cred->data)); 671 670 if (cred->locName) 672 g_free(cred->locName);671 smlSafeCFree(&(cred->locName)); 673 672 674 g_free(cred);673 smlSafeFree((gpointer *)&cred); 675 674 } 676 675 … … 690 689 691 690 if (chal->nonce) 692 g_free(chal->nonce);693 694 g_free(chal);691 smlSafeCFree(&(chal->nonce)); 692 693 smlSafeFree((gpointer *)&chal); 695 694 696 695 smlTrace(TRACE_EXIT, "%s", __func__); … … 722 721 smlLocationUnref(item->source); 723 722 error_free_item: 724 g_free(item);723 smlSafeFree((gpointer *)&item); 725 724 error: 726 725 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 748 747 749 748 if (item->source) 749 { 750 750 smlLocationUnref(item->source); 751 item->source = NULL; 752 } 751 753 752 754 if (item->target) 755 { 753 756 smlLocationUnref(item->target); 757 item->target = NULL; 758 } 754 759 755 g_free(item);760 smlSafeFree((gpointer *)&item); 756 761 } 757 762
