Changeset 360
- Timestamp:
- 02/04/08 10:40:28 (10 months ago)
- Files:
-
- trunk/libsyncml/objects/sml_auth.c (modified) (2 diffs)
- trunk/libsyncml/objects/sml_devinf_obj.c (modified) (1 diff)
- trunk/libsyncml/objects/sml_ds_server.c (modified) (6 diffs)
- trunk/libsyncml/parser/sml_wbxml.c (modified) (4 diffs)
- trunk/libsyncml/parser/sml_xml_assm.c (modified) (10 diffs)
- trunk/libsyncml/sml_command.c (modified) (3 diffs)
- trunk/libsyncml/sml_error.c (modified) (2 diffs)
- trunk/libsyncml/sml_manager.c (modified) (8 diffs)
- trunk/libsyncml/sml_notification.c (modified) (8 diffs)
- trunk/libsyncml/sml_parse.c (modified) (4 diffs)
- trunk/libsyncml/sml_queue.c (modified) (2 diffs)
- trunk/libsyncml/sml_session.c (modified) (8 diffs)
- trunk/libsyncml/sml_support.c (modified) (6 diffs)
- trunk/libsyncml/sml_transport.c (modified) (4 diffs)
- trunk/libsyncml/transports/http_client.c (modified) (3 diffs)
- trunk/libsyncml/transports/http_server.c (modified) (4 diffs)
- trunk/libsyncml/transports/obex_client.c (modified) (4 diffs)
- trunk/libsyncml/transports/obex_server.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libsyncml/objects/sml_auth.c
r320 r360 80 80 81 81 char **arr = g_strsplit(buffer, ":", 2); 82 g_free(buffer);82 smlSafeCFree(&buffer); 83 83 84 84 smlTrace(TRACE_INTERNAL, "Username \"%s\", Password \"%s\"", arr[0], arr[1]); … … 168 168 smlAssert(auth); 169 169 170 g_free(auth);170 smlSafeFree((gpointer *)&auth); 171 171 172 172 smlTrace(TRACE_EXIT, "%s", __func__); trunk/libsyncml/objects/sml_devinf_obj.c
r334 r360 263 263 smlAssert(agent); 264 264 265 g_free(agent);265 smlSafeFree((gpointer *)&agent); 266 266 267 267 smlTrace(TRACE_EXIT, "%s", __func__); trunk/libsyncml/objects/sml_ds_server.c
r325 r360 61 61 62 62 if (ctx->uid) 63 g_free(ctx->uid);63 smlSafeCFree(&(ctx->uid)); 64 64 65 65 if (ctx->newuid) 66 g_free(ctx->newuid);67 68 g_free(ctx);66 smlSafeCFree(&(ctx->newuid)); 67 68 smlSafeFree((gpointer *)&ctx); 69 69 70 70 smlTrace(TRACE_EXIT, "%s", __func__); … … 239 239 240 240 if (server->contenttype) 241 g_free(server->contenttype);242 243 g_free(server);241 smlSafeCFree(&(server->contenttype)); 242 243 smlSafeFree((gpointer *)&server); 244 244 245 245 smlTrace(TRACE_EXIT, "%s", __func__); … … 363 363 364 364 error_free_dsession: 365 g_free(dsession);365 smlSafeFree((gpointer *)&dsession); 366 366 error: 367 367 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 458 458 g_mutex_free(dsession->lock); 459 459 460 g_free(dsession);460 smlSafeFree((gpointer *)&dsession); 461 461 } 462 462 … … 944 944 945 945 error_free_ctx: 946 g_free(ctx->uid);947 g_free(ctx);946 smlSafeCFree(&(ctx->uid)); 947 smlSafeFree((gpointer *)&ctx); 948 948 error_free_cmd: 949 949 smlCommandUnref(cmd); … … 1087 1087 1088 1088 error_free_dsession: 1089 g_free(dsession);1089 smlSafeFree((gpointer *)&dsession); 1090 1090 error: 1091 1091 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(&error)); trunk/libsyncml/parser/sml_wbxml.c
r323 r360 85 85 char *bin = smlPrintBinary(data, size); 86 86 smlTrace(TRACE_INTERNAL, "Wbxml input: %s", bin); 87 g_free(bin);87 smlSafeCFree(&bin); 88 88 smlLog("received-%i.wbxml", data, size); 89 89 … … 146 146 char *hex = smlPrintHex(*data, *size); 147 147 smlTrace(TRACE_INTERNAL, "Wbxml assembled: %s", hex); 148 g_free(hex);148 smlSafeCFree(&hex); 149 149 150 150 smlLog("sent-%i.wbxml", *data, *size); … … 177 177 goto error_free_buffer; 178 178 179 g_free(data);180 g_free(buffer);179 smlSafeCFree(&data); 180 smlSafeCFree(&buffer); 181 181 182 182 smlTrace(TRACE_EXIT, "%s: %i", __func__, size); … … 184 184 185 185 error_free_buffer: 186 g_free(buffer);186 smlSafeCFree(&buffer); 187 187 error: 188 188 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); trunk/libsyncml/parser/sml_xml_assm.c
r345 r360 910 910 xmlBufferFree(assmcmd->buffer); 911 911 error_free_cmd: 912 g_free(assmcmd);912 smlSafeFree((gpointer *)&assmcmd); 913 913 error: 914 914 return FALSE; … … 984 984 985 985 xmlBufferFree(cmd->buffer); 986 g_free(cmd);986 smlSafeFree((gpointer *)&cmd); 987 987 988 988 smlTrace(TRACE_EXIT, "%s", __func__); … … 1262 1262 1263 1263 xmlBufferFree(cmd->buffer); 1264 g_free(cmd);1264 smlSafeFree((gpointer *)&cmd); 1265 1265 } 1266 1266 … … 1282 1282 xmlBufferFree(status->buffer); 1283 1283 1284 g_free(status);1284 smlSafeFree((gpointer *)&status); 1285 1285 assm->statuses = g_list_delete_link(assm->statuses, assm->statuses); 1286 1286 } … … 1289 1289 1290 1290 g_mutex_free(assm->mutex); 1291 g_free(assm);1291 smlSafeFree((gpointer *)&assm); 1292 1292 1293 1293 smlTrace(TRACE_EXIT, "%s", __func__); … … 1320 1320 xmlBufferFree(status->buffer); 1321 1321 assm->statuses = g_list_remove(assm->statuses, status); 1322 g_free(status);1322 smlSafeFree((gpointer *)&status); 1323 1323 assm->reserved_statuses--; 1324 1324 assm->added_statuses--; … … 1587 1587 1588 1588 // the buffer was created with xmlBufferCreateSize 1589 // so we must free it via the libxml API and not via g_free1589 // so we must free it via the libxml API and not via smlSafeCFree 1590 1590 *size = xmlBufferLength(buffer); 1591 1591 *data = g_strndup(xmlBufferContent(buffer), *size); … … 1729 1729 1730 1730 error_mutex: 1731 g_free(assm);1731 smlSafeFree((gpointer *)&assm); 1732 1732 smlErrorSet(error, SML_ERROR_GENERIC, "%s - Cannot create new mutex.", __func__); 1733 1733 error: … … 2283 2283 xmlBufferFree(buffer); 2284 2284 2285 g_free(assm);2285 smlSafeFree((gpointer *)&assm); 2286 2286 2287 2287 smlTrace(TRACE_INTERNAL, "Message Assembled: %s", *data); … … 2296 2296 xmlBufferFree(buffer); 2297 2297 error_free_assm: 2298 g_free(assm);2298 smlSafeFree((gpointer *)&assm); 2299 2299 error: 2300 2300 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); trunk/libsyncml/sml_command.c
r240 r360 164 164 smlLocationUnref(status->targetRef); 165 165 166 g_free(status->data); 166 if (status->data) 167 smlSafeCFree(&(status->data)); 167 168 168 169 if (status->anchor) 169 170 smlAnchorFree(status->anchor); 170 171 171 g_free(status);172 smlSafeFree((gpointer *)&status); 172 173 } 173 174 … … 317 318 smlAnchorFree(cmd->private.alert.anchor); 318 319 if (cmd->private.alert.contentType) 319 g_free(cmd->private.alert.contentType);320 smlSafeCFree(&(cmd->private.alert.contentType)); 320 321 break; 321 322 case SML_COMMAND_TYPE_PUT: 322 323 case SML_COMMAND_TYPE_GET: 323 324 if (cmd->private.access.type) 324 g_free(cmd->private.access.type);325 smlSafeCFree(&(cmd->private.access.type)); 325 326 326 327 if (cmd->private.access.item) … … 352 353 smlLocationUnref(cmd->source); 353 354 354 g_free(cmd);355 smlSafeFree((gpointer *)&cmd); 355 356 } 356 357 trunk/libsyncml/sml_error.c
r240 r360 83 83 84 84 if ((*error)->message) 85 g_free ((*error)->message); 86 87 g_free(*error); 88 *error = NULL; 85 smlSafeCFree (&((*error)->message)); 86 87 smlSafeFree((gpointer *)error); 89 88 } 90 89 … … 155 154 g_vsnprintf(buffer, 1024, format, args); 156 155 157 g_free((*error)->message);156 smlSafeCFree(&((*error)->message)); 158 157 (*error)->message = g_strdup(buffer); 159 158 trunk/libsyncml/sml_manager.c
r334 r360 71 71 } 72 72 73 g_free(sess);73 smlSafeFree((gpointer *)&sess); 74 74 } 75 75 … … 166 166 smlErrorDeref(&event->error); 167 167 168 g_free(event);168 smlSafeFree((gpointer *)&event); 169 169 170 170 smlTrace(TRACE_EXIT, "%s", __func__); … … 326 326 327 327 error_free_manager: 328 g_free(manager);328 smlSafeFree((gpointer *)&manager); 329 329 error: 330 330 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 363 363 364 364 if (manager->functions) 365 g_free(manager->functions);365 smlSafeFree((gpointer *)&(manager->functions)); 366 366 367 367 if (manager->thread) … … 376 376 g_mutex_free(manager->running_mutex); 377 377 378 g_free(manager);378 smlSafeFree((gpointer *)&manager); 379 379 380 380 smlTrace(TRACE_EXIT, "%s", __func__); … … 568 568 char *lastid = g_strdup_printf("%i", manager->lastSessionID); 569 569 smlSessionSetSessionID(session, lastid); 570 g_free(lastid);570 smlSafeCFree(&lastid); 571 571 } 572 572 … … 671 671 smlLocationUnref(object->source); 672 672 if (object->contentType) 673 g_free(object->contentType);673 smlSafeCFree(&(object->contentType)); 674 674 } 675 675 else … … 767 767 768 768 if (object->contentType) 769 g_free(object->contentType);770 771 g_free(object);769 smlSafeCFree(&(object->contentType)); 770 771 smlSafeFree((gpointer *)&object); 772 772 773 773 smlTrace(TRACE_EXIT, "%s", __func__); trunk/libsyncml/sml_notification.c
r307 r360 125 125 smlLocationUnref(san->target); 126 126 127 g_free(san->identifier);127 smlSafeCFree(&(san->identifier)); 128 128 if (san->cred) 129 129 smlCredUnref(san->cred); 130 g_free(san);130 smlSafeFree((gpointer *)&san); 131 131 132 132 smlTrace(TRACE_EXIT, "%s", __func__); … … 161 161 smlAssert(alert); 162 162 163 g_free(alert->contenttype);164 g_free(alert->serverURI);165 g_free(alert);163 smlSafeCFree(&(alert->contenttype)); 164 smlSafeCFree(&(alert->serverURI)); 165 smlSafeFree((gpointer *)&alert); 166 166 167 167 smlTrace(TRACE_EXIT, "%s", __func__); … … 295 295 san->alerts = g_list_delete_link(san->alerts, san->alerts); 296 296 } 297 g_free(san->identifier);298 g_free(san);297 smlSafeCFree(&(san->identifier)); 298 smlSafeFree((gpointer *)&san); 299 299 error: 300 300 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 379 379 char *hex = smlPrintHex(*data, *size); 380 380 smlTrace(TRACE_INTERNAL, "San packet assembled: %s", hex); 381 g_free(hex);381 smlSafeCFree(&hex); 382 382 383 383 smlTrace(TRACE_EXIT, "%s", __func__); … … 474 474 char *hex = smlPrintHex(*data, *size); 475 475 smlTrace(TRACE_INTERNAL, "San packet assembled: %s", hex); 476 g_free(hex);476 smlSafeCFree(&hex); 477 477 478 478 smlTrace(TRACE_EXIT, "%s", __func__); … … 480 480 481 481 error_free_data: 482 g_free(*data);482 smlSafeCFree(data); 483 483 error: 484 *data = NULL;485 484 *size = 0; 486 485 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 536 535 537 536 smlTransportDataDeref(tspdata); 538 g_free(data);537 smlSafeCFree(&data); 539 538 540 539 smlTrace(TRACE_EXIT, "%s", __func__); … … 544 543 smlTransportDataDeref(tspdata); 545 544 error_free_data: 546 g_free(data);545 smlSafeCFree(&data); 547 546 error: 548 547 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); trunk/libsyncml/sml_parse.c
r242 r360 79 79 80 80 error_free_parser: 81 g_free(parser);81 smlSafeFree((gpointer *)&parser); 82 82 error: 83 83 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 98 98 parser->functions.free(parser->parser_userdata); 99 99 100 g_free(parser);100 smlSafeFree((gpointer *)&parser); 101 101 102 102 smlTrace(TRACE_EXIT, "%s", __func__); … … 325 325 326 326 error_free_assm: 327 g_free(assm);327 smlSafeFree((gpointer *)&assm); 328 328 error: 329 329 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 346 346 g_hash_table_destroy(assm->options); 347 347 348 g_free(assm);348 smlSafeFree((gpointer *)&assm); 349 349 350 350 smlTrace(TRACE_EXIT, "%s", __func__); trunk/libsyncml/sml_queue.c
r127 r360 97 97 g_mutex_free(queue->mutex); 98 98 99 g_free(queue);99 smlSafeFree((gpointer *)&queue); 100 100 } 101 101 … … 429 429 g_source_unref(queue->source); 430 430 431 g_free(queue->functions);431 smlSafeFree((gpointer *)&(queue->functions)); 432 432 433 433 queue->source = NULL; trunk/libsyncml/sml_session.c
r346 r360 69 69 { 70 70 while (session->pendingReplies) { 71 g_free((SmlPendingStatus *)session->pendingReplies->data);71 smlSafeFree((gpointer *)&(session->pendingReplies->data)); 72 72 session->pendingReplies = g_list_delete_link(session->pendingReplies, session->pendingReplies); 73 73 } … … 150 150 151 151 error_free_data: 152 g_free(data);152 smlSafeCFree(&data); 153 153 error: 154 154 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 476 476 smlStatusUnref(sesscmd->status); 477 477 478 g_free(sesscmd);478 smlSafeFree((gpointer *)&sesscmd); 479 479 } 480 480 … … 646 646 pending->callback(session, status, pending->userdata); 647 647 648 g_free(pending);648 smlSafeFree((gpointer *)&pending); 649 649 650 650 goto out; … … 912 912 smlTrace(TRACE_INTERNAL, "%s: Content so far: %s\n", 913 913 __func__, bin); 914 g_free(bin);914 smlSafeCFree(&bin); 915 915 } 916 916 … … 1250 1250 1251 1251 if (session->sessionID) 1252 g_free(session->sessionID);1252 smlSafeCFree(&(session->sessionID)); 1253 1253 session->sessionID = g_strdup(sessionID); 1254 1254 } … … 1422 1422 1423 1423 if (session->sessionID) 1424 g_free(session->sessionID);1424 smlSafeCFree(&(session->sessionID)); 1425 1425 1426 1426 if (session->command_queue) { … … 1445 1445 g_mutex_free(session->dispatch_mutex); 1446 1446 1447 g_free(session);1447 smlSafeFree((gpointer *)&session); 1448 1448 } 1449 1449 trunk/libsyncml/sml_support.c
r349 r360 75 75 char *logfile_tmp = g_strdup_printf("%s/%s", trace, logname); 76 76 logfile = g_strdup_printf(logfile_tmp, i); 77 g_free(logfile_tmp);77 smlSafeCFree(&logfile_tmp); 78 78 if (!g_file_test(logfile, G_FILE_TEST_EXISTS)) 79 79 break; 80 g_free(logfile);80 smlSafeCFree(&logfile); 81 81 } 82 82 … … 157 157 if (!matched) 158 158 { 159 g_free(buffer);159 smlSafeCFree(&buffer); 160 160 return; 161 161 } … … 195 195 break; 196 196 } 197 g_free(buffer);197 smlSafeCFree(&buffer); 198 198 199 199 g_private_set(current_tabs, GINT_TO_POINTER(tabs)); … … 205 205 if (!chan) { 206 206 printf("unable to open %s for writing: %s\n", logfile, error->message); 207 g_free(logfile);208 g_free(logmessage);207 smlSafeCFree(&logfile); 208 smlSafeCFree(&logmessage); 209 209 return; 210 210 } … … 219 219 g_io_channel_shutdown(chan, TRUE, NULL); 220 220 g_io_channel_unref(chan); 221 g_free(logmessage);222 g_free(logfile);221 smlSafeCFree(&logmessage); 222 smlSafeCFree(&logfile); 223 223 #endif 224 224 } … … 374 374 g_main_context_unref(thread->context); 375 375 376 g_free(thread);376 smlSafeFree((gpointer *)&thread); 377 377 smlTrace(TRACE_EXIT, "%s", __func__); 378 378 } trunk/libsyncml/sml_transport.c
r275 r360 123 123 smlTransportDataDeref(cmd->data); 124 124 125 g_free(cmd);125 smlSafeFree((gpointer *)&cmd); 126 126 127 127 smlTrace(TRACE_EXIT, "%s", __func__); … … 324 324 325 325 if (data->ownsData && data->data != NULL) 326 g_free(data->data);327 328 g_free(data);326 smlSafeCFree(&(data->data)); 327 328 smlSafeFree((gpointer *)&data); 329 329 330 330 smlTrace(TRACE_EXIT, "%s: Freed", __func__); … … 426 426 smlQueueFree(link->event_queue); 427 427 428 g_free(link);428 smlSafeFree((gpointer *)&link); 429 429 430 430 smlTrace(TRACE_EXIT, "%s: Freed", __func__); … … 531 531 g_main_context_unref(tsp->context); 532 532 533 g_free(tsp);533 smlSafeFree((gpointer *)&tsp); 534 534 535 535 smlTrace(TRACE_EXIT, "%s", __func__); trunk/libsyncml/transports/http_client.c
r359 r360 142 142 143 143 error_free_data: 144 g_free(data);144 smlSafeCFree(&data); 145 145 error: 146 146 smlTransportReceiveEvent(env->tsp, NULL, SML_TRANSPORT_EVENT_ERROR, NULL, error); … … 248 248 error_free_env: 249 249 soup_uri_free(env->uri); 250 g_free(env);250 smlSafeFree((gpointer *)&env); 251 251 error: 252 252 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 291 291 292 292 soup_uri_free(env->uri); 293 g_free(env->url);294 g_free(env->proxy);295 g_free(env);293 smlSafeCFree(&(env->url)); 294 if (env->proxy) smlSafeCFree(&(env->proxy)); 295 smlSafeFree((gpointer *)&env); 296 296 297 297 smlTrace(TRACE_EXIT, "%s", __func__); trunk/libsyncml/transports/http_server.c
r356 r360 51 51 smlErrorSet(&error, SML_ERROR_FILE_NOT_FOUND, "Not Found"); 52 52 soup_message_set_status(msg, SOUP_STATUS_NOT_FOUND); 53 free(path); 54 goto error; 55 } 56 free(path); 53 smlSafeCFree(&path); 54 goto error; 55 } 56 smlSafeCFree(&path); 57 57 58 58 59 if (soup_message_get_http_version(msg) != 1) { … … 67 68 goto error; 68 69 } 69 70 70 71 71 const char *header = soup_message_get_header(msg->request_headers, "Content-Type"); … … 192 192 193 193 error_free_env: 194 g_free(env->url);195 g_free(env->interface);196 g_free(env);194 smlSafeCFree(&(env->url)); 195 smlSafeCFree(&(env->interface)); 196 smlSafeFree((gpointer *)&env); 197 197 error: 198 198 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 211 211 // g_object_unref(env->server); 212 212 213 g_free(env->url);214 g_free(env->interface);215 g_free(env);213 smlSafeCFree(&(env->url)); 214 smlSafeCFree(&(env->interface)); 215 smlSafeFree((gpointer *)&env); 216 216 217 217 smlTrace(TRACE_EXIT, "%s", __func__); trunk/libsyncml/transports/obex_client.c
r356 r360 307 307 if (!env->connection_id) { 308 308 smlErrorSet(&error, SML_ERROR_GENERIC, "Missing connection id"); 309 g_free(who);309 smlSafeCFree(&who); 310 310 goto error; 311 311 } … … 314 314 if (!who || strcmp(who, "SYNCML-SYNC")) { 315 315 smlErrorSet(&error, SML_ERROR_GENERIC, "Missing or wrong who response"); 316 g_free(who);316 smlSafeCFree(&who); 317 317 goto error; 318 318 } 319 g_free(who);319 smlSafeCFree(&who); 320 320 321 321 smlTransportReceiveEvent(env->tsp, NULL, SML_TRANSPORT_EVENT_CONNECT_DONE, NULL, NULL); … … 475 475 OBEX_Cleanup(env->obexhandle); 476 476 error_free_env: 477 g_free(env->path);478 g_free(env);477 smlSafeCFree(&(env->path)); 478 smlSafeFree((gpointer *)&env); 479 479 error: 480 480 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); … … 490 490 491 491 smlAssert(env->tsp); 492 g_free(env->path);493 g_free(env->stream_chunk);492 smlSafeCFree(&(env->path)); 493 smlSafeFree((gpointer *)&(env->stream_chunk)); 494 494 495 495 OBEX_Cleanup(env->obexhandle); 496 496 497 g_free(env);497 smlSafeFree((gpointer *)&env); 498 498 499 499 smlTrace(TRACE_EXIT, "%s", __func__); trunk/libsyncml/transports/obex_server.c
r127 r360 64 64 g_source_unref(linkenv->source); 65 65 OBEX_Cleanup(linkenv->handle); 66 g_free(linkenv);66 smlSafeFree((gpointer *)&linkenv); 67 67 return FALSE; 68 68 } … … 151 151 /*char *mimetypestr = g_malloc0(len);// / 2 + 1); 152 152 if (OBEX_UnicodeToChar((unsigned char *)mimetypestr, header.bs, len / 2 + 1) == -1) { 153 g_free(mimetypestr);153 smlSafeCFree(&mimetypestr); 154 154 smlErrorSet(&error, SML_ERROR_GENERIC, "unable to convert from unicode"); 155 155 goto error; … … 165 165 mimetype = SML_MIMETYPE_SAN; 166 166 } else { 167 g_free(mimetypestr);167 smlSafeCFree(&mimetypestr); 168 168 smlErrorSet(&error, SML_ERROR_GENERIC, "Unknown mime type"); 169 169 goto error; 170 170 } 171 171 172 g_free(mimetypestr);172 smlSafeCFree(&mimetypestr); 173 173 break; 174 174 case OBEX_HDR_LENGTH: … … 243 243 /*char *mimetypestr = g_malloc0(len / 2 + 1); 244 244 if (OBEX_UnicodeToChar((unsigned char *)mimetypestr, header.bs, len / 2 + 1) == -1) { 245 g_free(mimetypestr);245 smlSafeCFree(&mimetypestr); 246 246 smlErrorSet(&error, SML_ERROR_GENERIC, "unable to convert from unicode"); 247 247 goto error; … … 257 257 mimetype = SML_MIMETYPE_SAN; 258 258 } else { 259 g_free(mimetypestr);259 smlSafeCFree(&mimetypestr); 260 260 smlErrorSet(&error, SML_ERROR_GENERIC, "Unknown mime type"); 261 261 goto error; 262 262 } 263 263 264 g_free(mimetypestr);264 smlSafeCFree(&mimetypestr); 265 265 break; 266 266 default: … … 335 335 336 336 if (!target || strcmp(target, "SYNCML-SYNC")) { 337 g_free(target);337 smlSafeCFree(&target); 338 338 smlErrorSet(&error, SML_ERROR_GENERIC, "Missing target"); 339 339 goto error; 340 340 } 341 g_free(target);341 smlSafeCFree(&target); 342 342 343 343 header.bq4 = linkenv->conid; … … 477 477 close(linkenv->fd); 478 478 error_free_env: 479 g_free(linkenv);479 &nbs
