- 20 12月, 2016 1 次提交
-
-
由 Michal Privoznik 提交于
For instance: hellolibvirt/hellolibvirt.c: In function 'showDomains': hellolibvirt/hellolibvirt.c:100:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i = 0; i < numNames; i++) { ^ Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 21 4月, 2015 1 次提交
-
-
由 Michal Privoznik 提交于
So, in the example the cpu stats are collected within a function called do_top. At the beginning of the function we ask the daemon for how much vCPUs can we get stats, and how many stats for a vCPU can we get. This is because it's how our API works - users are required to preallocate a chunk of memory for the results. Now, at the end, we try to free the allocated array, but we are not doing it correctly. There's this virTypedParamsFree() function which gets a pointer to the array and the length of the array. However, if there was an error in getting vCPU stats we pass a negative number instead of the originally computed value. This flaw results in SIGSEGV: libvirt: QEMU Driver error : Requested operation is not valid: domain is not running ERROR do_top:333 : Unable to get cpu stats ==29201== Invalid read of size 4 ==29201== at 0x4F1DF8B: virTypedParamsClear (virtypedparam.c:1145) ==29201== by 0x4F1DFEB: virTypedParamsFree (virtypedparam.c:1165) ==29201== by 0x4023C3: do_top (domtop.c:349) ==29201== by 0x40260B: main (domtop.c:386) ==29201== Address 0x131cd7c0 is 16 bytes after a block of size 768 alloc'd ==29201== at 0x4C2C070: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==29201== by 0x401FF1: do_top (domtop.c:295) ==29201== by 0x40260B: main (domtop.c:386) Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 04 8月, 2014 2 次提交
-
-
由 Michal Privoznik 提交于
The variable 'k' in the print_cpu_usage function is not used anywhere and can fire a warning on some compilers. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
Currently, the function follows the usual pattern used in our code: int ret = -1; ... ret = 0; cleanup: return ret; However, the function always call exit() on error, so the cleanup label is never jumped onto. Therefore, it doesn't make any sense to have the parse_argv function return an integer value, if it effectively can return only value of zero. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 22 7月, 2014 1 次提交
-
-
由 Michal Privoznik 提交于
Firstly, there's no sigaction() nor struct sigaction on mingw. We have to use the one implemented by gnulib (and hence link with gnulib). Then, for some reason one header file from windows defines ERROR symbol. Yes it does. Sigh. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 21 7月, 2014 2 次提交
-
-
由 Peter Krempa 提交于
Use the virTypedParamsFree unconditionally as it handles NULL well and has the benefit of freeing a typed parameter array even if it wasn't yet assigned, but only allocated.
-
由 Peter Krempa 提交于
max_id could be used uninitialized in the cleanup section after the domain wasn't found. Discovered by Coverity.
-
- 18 7月, 2014 1 次提交
-
-
由 Michal Privoznik 提交于
There's this question on the list that is asked over and over again. How do I get {cpu, memory, ...} usage in percentage? Or its modified version: How do I plot nice graphs like virt-manager does? It would be nice if we have an example to inspire people. And that's what domtop should do. Yes, it could be written in different ways, but I've chosen this one as I think it show explicitly what users need to implement in order to imitate virt-manager's graphing. Note: The usage is displayed from host perspective. That is, how much host CPUs the domain is using. But it should be fairly simple to switch do just guest CPU usage if needed. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-