Re: [PATCH] util: fix a bug found in sorting cache monitor results

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/10/19 5:21 PM, Wang Huaqiang wrote:
From: Huaqiang <huaqiang.wang@xxxxxxxxx>

The qsort element is a pointer of virResctrlMonitorStats, and
the comparing function's arguments have a type of pointer of
virResctrlMonitorStatsPtr.

Signed-off-by: Huaqiang <huaqiang.wang@xxxxxxxxx>
---
  src/util/virresctrl.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c
index b845f36..a190977 100644
--- a/src/util/virresctrl.c
+++ b/src/util/virresctrl.c
@@ -2659,8 +2659,8 @@ static int
  virResctrlMonitorStatsSorter(const void *a,
                               const void *b)
  {
-    return ((virResctrlMonitorStatsPtr)a)->id
-        - ((virResctrlMonitorStatsPtr)b)->id;
+    return (*(virResctrlMonitorStatsPtr *)a)->id
+        - (*(virResctrlMonitorStatsPtr *)b)->id;
  }
@@ -2758,7 +2758,7 @@ virResctrlMonitorGetStats(virResctrlMonitorPtr monitor, /* Sort in id's ascending order */
      if (*nstats)
-        qsort(*stats, *nstats, sizeof(*stat), virResctrlMonitorStatsSorter);
+        qsort(*stats, *nstats, sizeof(stat), virResctrlMonitorStatsSorter);

Nice catch, but since we're touching this line, how about getting rid of @stat completely? I mean, I'd like to change it to sizeof(**stats) because that's how big one element is.

Any objections?

Also, I'll update the commit message a bit before pushing.

Michal

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux