From 0cbb1f10f277568c2bf84b1dbf14bb01c139dd4a Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Mon, 14 May 2012 16:46:01 +0300 Subject: [PATCH] obexd: Use stack memory for application parameters in pbap module The maximum amount needed is known and sufficiently small to be in the stack which is much simpler to deal with. --- obexd/client/pbap.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/obexd/client/pbap.c b/obexd/client/pbap.c index 7970c8e88..76db61e33 100644 --- a/obexd/client/pbap.c +++ b/obexd/client/pbap.c @@ -531,7 +531,7 @@ static DBusMessage *pull_vcard_listing(struct pbap_data *pbap, { struct pending_request *request; struct obc_transfer *transfer; - guint8 *p, *apparam = NULL; + guint8 *p, apparam[272]; gint apparam_size; GError *err = NULL; DBusMessage *reply; @@ -549,7 +549,6 @@ static DBusMessage *pull_vcard_listing(struct pbap_data *pbap, (APPARAM_HDR_SIZE + SEARCHATTRIB_LEN) + (APPARAM_HDR_SIZE + MAXLISTCOUNT_LEN) + (APPARAM_HDR_SIZE + LISTSTARTOFFSET_LEN); - apparam = g_malloc0(apparam_size); p = apparam; @@ -566,7 +565,6 @@ static DBusMessage *pull_vcard_listing(struct pbap_data *pbap, request = pending_request_new(pbap, message); obc_transfer_set_params(transfer, apparam, apparam_size); - g_free(apparam); if (obc_session_queue(pbap->session, transfer, pull_vcard_listing_callback, request, &err)) -- 2.47.3