From aa364e3d8594a6496cb29a5ac1b81b9bf22dd73b Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Wed, 19 Apr 2017 21:24:28 +0200 Subject: qmicli,dms: fix logic getting stored image result MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The GetStoredImageResult must exist before getting into the array item loop, so that we fill the contents of the struct when we find the images (modem and pri) we were looking for. This also fixes the build when -Werror=maybe-uninitialized is used: /var/lib/jenkins/workspace/libqmi/master-without-mbim/source/src/qmicli/qmicli-dms.c:2800:5: error: ‘result’ may be used uninitialized in this function [-Werror=maybe-uninitialized] g_task_return_pointer (task, result, (GDestroyNotify)get_stored_image_result_free); ^ --- src/qmicli/qmicli-dms.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/qmicli/qmicli-dms.c b/src/qmicli/qmicli-dms.c index b249752..bc1fde5 100644 --- a/src/qmicli/qmicli-dms.c +++ b/src/qmicli/qmicli-dms.c @@ -2741,6 +2741,9 @@ get_stored_image_list_stored_images_ready (QmiClientDms *client, operation_ctx = g_task_get_task_data (task); + /* A single result struct is used for all iterations */ + result = g_slice_new0 (GetStoredImageResult); + for (i = 0; i < array->len; i++) { QmiMessageDmsListStoredImagesOutputListImageSublistSublistElement *subimage; QmiMessageDmsListStoredImagesOutputListImage *image; @@ -2784,8 +2787,6 @@ get_stored_image_list_stored_images_ready (QmiClientDms *client, subimage->build_id); g_free (unique_id_str); - /* Build result */ - result = g_slice_new0 (GetStoredImageResult); if (image->type == QMI_DMS_FIRMWARE_IMAGE_TYPE_MODEM) { result->modem_unique_id = subimage->unique_id ? g_array_ref (subimage->unique_id) : NULL; result->modem_build_id = g_strdup (subimage->build_id); -- cgit v1.1