Hi All,
Red Hat has access to the Coverity static analyzer, a checking system that
looks for coding errors. Attached is the coverity scan for the current libfpm
source code in Fedora 19. There are some errors in the generated SWIG code
(libpfm-4.3.0/python/src/*.c) that not much can be done for. There is a
dictionary of coverity errors available from:
https://wiki.ubuntu.com/CoverityCheckerDictionary
-Will
Error: BUFFER_SIZE (CWE-170):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11320: cond_true: Condition
"(methods + i).ml_name", taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11322: cond_true: Condition "c",
taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11322: cond_true: Condition "c =
strstr(c, "swig_ptr: ")", taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11326: cond_true: Condition
"(const_table + j).type", taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11327: cond_true: Condition
"__coverity_strncmp((const_table + j).name, name, strlen((const_table +
j).name)) == 0", taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11330: break: Breaking from loop
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11332: loop_end: Reached end of loop
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11333: cond_true: Condition "ci",
taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11335: cond_true: Condition "ptr",
taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11341: cond_true: Condition "ndoc",
taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11345: buffer_size: Calling strncpy
with a source string whose length (10 chars) is greater than or equal to the
size argument (10) will fail to null-terminate "buff".
Error: CHECKED_RETURN (CWE-252):
libpfm-4.3.0/examples/showevtinfo.c:176: check_return: Calling function
"pfm_get_pmu_info(pfm_pmu_t, pfm_pmu_info_t *)" without checking return value
(as is done elsewhere 12 out of 13 times).
libpfm-4.3.0/examples/check_events.c:44: example_assign: Assigning: "ret" =
return value from "pfm_get_pmu_info(p, &pinfo)".
libpfm-4.3.0/examples/check_events.c:45: example_checked: "ret" has its value
checked in "ret == 0".
libpfm-4.3.0/examples/check_events.c:73: example_assign: Assigning: "ret" =
return value from "pfm_get_pmu_info(i, &pinfo)".
libpfm-4.3.0/examples/check_events.c:74: example_checked: "ret" has its value
checked in "ret != 0".
libpfm-4.3.0/examples/showevtinfo.c:387: example_assign: Assigning: "ret" =
return value from "pfm_get_pmu_info(info->pmu, &pinfo)".
libpfm-4.3.0/examples/showevtinfo.c:388: example_checked: "ret" has its value
checked in "ret".
libpfm-4.3.0/examples/showevtinfo.c:272: example_assign: Assigning: "ret" =
return value from "pfm_get_pmu_info(info->pmu, &pinfo)".
libpfm-4.3.0/examples/showevtinfo.c:273: example_checked: "ret" has its value
checked in "ret != 0".
libpfm-4.3.0/tests/validate.c:104: example_assign: Assigning: "ret" = return
value from "pfm_get_pmu_info(i, &pinfo)".
libpfm-4.3.0/tests/validate.c:105: example_checked: "ret" has its value checked
in "ret != 0".
libpfm-4.3.0/examples/showevtinfo.c:176: unchecked_value: No check of the
return value of "pfm_get_pmu_info(info->pmu, &pinfo)".
Error: CONSTANT_EXPRESSION_RESULT (CWE-569):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:3221:
result_independent_of_operands: value < -9223372036854775808LL /*
-9223372036854775807L - 1L */ is always false regardless of the values of its
operands. This occurs as the logical first operand of '||'.
Error: DEADCODE (CWE-561):
libpfm-4.3.0/lib/pfmlib_common.c:787: dead_error_condition: The switch value
"type" cannot be "PFM_ATTR_RAW_UMASK".
libpfm-4.3.0/lib/pfmlib_common.c:787: dead_error_begin: Execution cannot reach
this statement "case PFM_ATTR_RAW_UMASK:".
Error: DEADCODE (CWE-561):
libpfm-4.3.0/lib/pfmlib_common.c:786: dead_error_condition: The switch value
"type" cannot be "PFM_ATTR_UMASK".
libpfm-4.3.0/lib/pfmlib_common.c:786: dead_error_line: Execution cannot reach
this statement "case PFM_ATTR_UMASK:".
Error: DEADCODE (CWE-561):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2391: cond_notnull: Condition "ty",
taking true branch. Now the value of "ty" is not NULL.
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2394: notnull: At condition "ty",
the value of "ty" cannot be NULL.
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2394: dead_error_condition: The
condition "ty" must be true.
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2404: dead_error_line: Execution
cannot reach this statement "*ptr = vptr;".
Error: NULL_RETURNS (CWE-476):
libpfm-4.3.0/perf_examples/perf_util.c:119: cond_true: Condition "ev", taking
true branch
libpfm-4.3.0/perf_examples/perf_util.c:119: cond_true: Condition "fd", taking
true branch
libpfm-4.3.0/perf_examples/perf_util.c:119: cond_true: Condition "num_fds",
taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:120: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:123: cond_false: Condition "!events",
taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:124: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:127: cond_true: Condition "p = strchr(q,
44)", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:130: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/perf_util.c:127: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/perf_util.c:127: cond_false: Condition "p =
strchr(q, 44)", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:130: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/perf_util.c:135: cond_false: Condition "!argv",
taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:138: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:140: cond_true: Condition "i < num - 2",
taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:141: returned_null: Function
"strchr(char const *, int)" returns null (checked 4 out of 5 times).
libpfm-4.3.0/examples/showevtinfo.c:657: example_assign: Assigning: "p" =
return value from "strchr(arg, 44)".
libpfm-4.3.0/examples/showevtinfo.c:658: example_checked: "p" has its value
checked in "p".
libpfm-4.3.0/lib/pfmlib_common.c:476: example_assign: Assigning: "p" = return
value from "strchr(pfm_cfg.forced_pmu, 44)".
libpfm-4.3.0/lib/pfmlib_common.c:477: example_checked: "p" has its value
checked in "p".
libpfm-4.3.0/lib/pfmlib_common.c:970: example_assign: Assigning: "p" = return
value from "strchr(s, 44)".
libpfm-4.3.0/lib/pfmlib_common.c:971: example_checked: "p" has its value
checked in "p".
libpfm-4.3.0/perf_examples/perf_util.c:127: example_checked: "strchr(q, 44)"
has its value checked in "p = strchr(q, 44)".
libpfm-4.3.0/perf_examples/perf_util.c:141: var_assigned: Assigning: "p" = null
return value from "strchr(char const *, int)".
libpfm-4.3.0/perf_examples/perf_util.c:142: dereference: Dereferencing a null
pointer "p".
Error: RESOURCE_LEAK (CWE-404):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10141: alloc_fn: Storage is returned
from allocation function "malloc(size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10141: var_assign: Assigning: "arg4"
= storage returned from "malloc(64UL)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10142: noescape: Resource "arg4" is
not freed or pointed-to in function "memset(void *, int, size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10144: cond_true: Condition
"!PyArg_ParseTuple(args, (char *)"OOO:pfm_get_event_attr_info", &obj0, &obj1,
&obj2)", taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10144: goto: Jumping to label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10182: label: Reached label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10183: leaked_storage: Variable
"arg4" going out of scope leaks the storage it points to.
Error: RESOURCE_LEAK (CWE-404):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10022: alloc_fn: Storage is returned
from allocation function "malloc(size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10022: var_assign: Assigning: "arg3"
= storage returned from "malloc(64UL)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10023: noescape: Resource "arg3" is
not freed or pointed-to in function "memset(void *, int, size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10025: cond_true: Condition
"!PyArg_ParseTuple(args, (char *)"OO:pfm_get_event_info", &obj0, &obj1)",
taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10025: goto: Jumping to label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10058: label: Reached label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10059: leaked_storage: Variable
"arg3" going out of scope leaks the storage it points to.
Error: RESOURCE_LEAK (CWE-404):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10331: alloc_fn: Storage is returned
from allocation function "malloc(size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10331: var_assign: Assigning: "arg3"
= storage returned from "malloc(80UL)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10332: noescape: Resource "arg3" is
not freed or pointed-to in function "memset(void *, int, size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10334: cond_true: Condition
"!PyArg_ParseTuple(args, (char *)"OOOO:pfm_get_perf_event_encoding", &obj0,
&obj1, &obj2, &obj3)", taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10334: goto: Jumping to label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10378: label: Reached label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10379: cond_false: Condition "alloc1
== (512 /* 0 | ((1 << 8) << 1) */)", taking false branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10379: if_end: End of if statement
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10380: leaked_storage: Variable
"arg3" going out of scope leaks the storage it points to.
Error: RESOURCE_LEAK (CWE-404):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9925: alloc_fn: Storage is returned
from allocation function "malloc(size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9925: var_assign: Assigning: "arg2"
= storage returned from "malloc(56UL)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9926: noescape: Resource "arg2" is
not freed or pointed-to in function "memset(void *, int, size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9928: cond_true: Condition
"!PyArg_ParseTuple(args, (char *)"O:pfm_get_pmu_info", &obj0)", taking true
branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9928: goto: Jumping to label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9956: label: Reached label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9957: leaked_storage: Variable
"arg2" going out of scope leaks the storage it points to.
Error: RESOURCE_LEAK (CWE-404):
libpfm-4.3.0/perf_examples/syst_smpl.c:299: cond_false: Condition
"pfm_initialize() != 0", taking false branch
libpfm-4.3.0/perf_examples/syst_smpl.c:300: if_end: End of if statement
libpfm-4.3.0/perf_examples/syst_smpl.c:305: cond_true: Condition
"options.cgroup", taking true branch
libpfm-4.3.0/perf_examples/syst_smpl.c:306: open_fn: Returning handle opened by
function "open_cgroup(char *)".
libpfm-4.3.0/perf_examples/syst_smpl.c:273:2: cond_false: Condition "!mnt",
taking false branch
libpfm-4.3.0/perf_examples/syst_smpl.c:274:3: if_end: End of if statement
libpfm-4.3.0/perf_examples/syst_smpl.c:278:2: open_fn: Returning handle opened
by function "open(char const *, int, ...)".
libpfm-4.3.0/perf_examples/syst_smpl.c:278:2: var_assign: Assigning: "cfd" =
"open(path, 0)".
libpfm-4.3.0/perf_examples/syst_smpl.c:279:2: cond_false: Condition "cfd ==
-1", taking false branch
libpfm-4.3.0/perf_examples/syst_smpl.c:280:3: if_end: End of if statement
libpfm-4.3.0/perf_examples/syst_smpl.c:282:2: return_handle: Returning opened
handle "cfd".
libpfm-4.3.0/perf_examples/syst_smpl.c:306: var_assign: Assigning: "fd" =
handle returned from "open_cgroup(options.cgroup)".
libpfm-4.3.0/perf_examples/syst_smpl.c:307: cond_false: Condition "fd == -1",
taking false branch
libpfm-4.3.0/perf_examples/syst_smpl.c:308: if_end: End of if statement
libpfm-4.3.0/perf_examples/syst_smpl.c:311: noescape: Resource "fd" is not
freed or pointed-to in function "setup_cpu(int, int)".
libpfm-4.3.0/perf_examples/syst_smpl.c:117:24: noescape: "setup_cpu(int, int)"
does not free or save its handle parameter "fd".
libpfm-4.3.0/perf_examples/syst_smpl.c:321: cond_false: Condition
"_setjmp(jbuf) == 1", taking false branch
libpfm-4.3.0/perf_examples/syst_smpl.c:322: if_end: End of if statement
libpfm-4.3.0/perf_examples/syst_smpl.c:330: cond_true: Condition "true", taking
true branch
libpfm-4.3.0/perf_examples/syst_smpl.c:332: cond_false: Condition "ret < 0",
taking false branch
libpfm-4.3.0/perf_examples/syst_smpl.c:333: if_end: End of if statement
libpfm-4.3.0/perf_examples/syst_smpl.c:336: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/syst_smpl.c:330: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/syst_smpl.c:330: cond_true: Condition "true", taking
true branch
libpfm-4.3.0/perf_examples/syst_smpl.c:332: cond_true: Condition "ret < 0",
taking true branch
libpfm-4.3.0/perf_examples/syst_smpl.c:332: cond_true: Condition
"*__errno_location() == 4", taking true branch
libpfm-4.3.0/perf_examples/syst_smpl.c:333: break: Breaking from loop
libpfm-4.3.0/perf_examples/syst_smpl.c:336: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/syst_smpl.c:338: cond_true: Condition "i < num_fds",
taking true branch
libpfm-4.3.0/perf_examples/syst_smpl.c:339: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/syst_smpl.c:338: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/syst_smpl.c:338: cond_true: Condition "i < num_fds",
taking true branch
libpfm-4.3.0/perf_examples/syst_smpl.c:339: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/syst_smpl.c:338: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/syst_smpl.c:338: cond_false: Condition "i <
num_fds", taking false branch
libpfm-4.3.0/perf_examples/syst_smpl.c:339: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/syst_smpl.c:350: leaked_handle: Handle variable "fd"
going out of scope leaks the handle.
Error: SIZEOF_MISMATCH (CWE-569):
libpfm-4.3.0/perf_examples/syst.c:100: suspicious_sizeof: Passing argument
"184UL /* sizeof (perf_event_desc_t) */" to function "calloc(size_t, size_t)"
and then casting the return value to "perf_event_desc_t **" is suspicious.
Error: TAINTED_SCALAR (CWE-20):
libpfm-4.3.0/perf_examples/self_basic.c:67: cond_false: Condition "ret != 0",
taking false branch
libpfm-4.3.0/perf_examples/self_basic.c:68: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_basic.c:78: cond_false: Condition "ret != 0",
taking false branch
libpfm-4.3.0/perf_examples/self_basic.c:79: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_basic.c:100: cond_false: Condition "fd < 0",
taking false branch
libpfm-4.3.0/perf_examples/self_basic.c:101: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_basic.c:107: cond_false: Condition "ret",
taking false branch
libpfm-4.3.0/perf_examples/self_basic.c:108: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_basic.c:116: cond_false: Condition "ret",
taking false branch
libpfm-4.3.0/perf_examples/self_basic.c:117: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_basic.c:124: tainted_data_argument: Calling
function "read(int, void *, size_t)" taints argument "values".
libpfm-4.3.0/perf_examples/self_basic.c:125: cond_false: Condition "ret != 24UL
/* sizeof (values) */", taking false branch
libpfm-4.3.0/perf_examples/self_basic.c:126: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_basic.c:135: cond_true: Condition "values[2]",
taking true branch
libpfm-4.3.0/perf_examples/self_basic.c:136: tainted_data: Using tainted
variable "values[2]" as the divisor in "(double)values[0] * values[1] /
values[2]".
Error: UNINIT (CWE-457):
libpfm-4.3.0/perf_examples/perf_util.c:314: var_decl: Declaring variable
"time_enabled" without initializer.
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "!fds",
taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "!fp", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "!ehdr",
taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "num_fds <
0", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "idx < 0",
taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "idx >=
num_fds", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:322: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:337: cond_true: Condition "type &
PERF_SAMPLE_IP", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:340: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:343: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:350: cond_true: Condition
"hw->hw.precise_ip", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:350: cond_true: Condition "ehdr->misc &
(16384 /* 1 << 14 */)", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:357: cond_true: Condition "type &
PERF_SAMPLE_TID", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:359: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:362: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:368: cond_true: Condition "type &
PERF_SAMPLE_TIME", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:370: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:373: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:379: cond_true: Condition "type &
PERF_SAMPLE_ADDR", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:381: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:384: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:390: cond_true: Condition "type &
PERF_SAMPLE_ID", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:392: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:395: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:401: cond_true: Condition "type &
PERF_SAMPLE_STREAM_ID", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:403: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:406: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:411: cond_true: Condition "type &
PERF_SAMPLE_CPU", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:414: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:417: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:422: cond_true: Condition "type &
PERF_SAMPLE_PERIOD", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:424: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:427: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:448: cond_true: Condition "type &
PERF_SAMPLE_READ", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:452: cond_false: Condition "fmt &
PERF_FORMAT_GROUP", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:518: else_branch: Reached else branch
libpfm-4.3.0/perf_examples/perf_util.c:523: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:526: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:529: cond_false: Condition "fmt &
PERF_FORMAT_TOTAL_TIME_ENABLED", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:536: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:538: cond_false: Condition "fmt &
PERF_FORMAT_TOTAL_TIME_RUNNING", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:545: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:546: cond_false: Condition "fmt &
PERF_FORMAT_ID", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:553: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:555: uninit_use_in_call: Using
uninitialized value "time_enabled" when calling "fprintf(FILE * restrict, char
const * restrict, ...)".
Error: UNINIT (CWE-457):
libpfm-4.3.0/perf_examples/perf_util.c:314: var_decl: Declaring variable
"time_running" without initializer.
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "!fds",
taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "!fp", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "!ehdr",
taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "num_fds <
0", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "idx < 0",
taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:321: cond_false: Condition "idx >=
num_fds", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:322: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:337: cond_true: Condition "type &
PERF_SAMPLE_IP", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:340: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:343: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:350: cond_true: Condition
"hw->hw.precise_ip", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:350: cond_true: Condition "ehdr->misc &
(16384 /* 1 << 14 */)", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:357: cond_true: Condition "type &
PERF_SAMPLE_TID", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:359: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:362: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:368: cond_true: Condition "type &
PERF_SAMPLE_TIME", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:370: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:373: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:379: cond_true: Condition "type &
PERF_SAMPLE_ADDR", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:381: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:384: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:390: cond_true: Condition "type &
PERF_SAMPLE_ID", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:392: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:395: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:401: cond_true: Condition "type &
PERF_SAMPLE_STREAM_ID", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:403: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:406: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:411: cond_true: Condition "type &
PERF_SAMPLE_CPU", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:414: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:417: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:422: cond_true: Condition "type &
PERF_SAMPLE_PERIOD", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:424: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:427: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:448: cond_true: Condition "type &
PERF_SAMPLE_READ", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:452: cond_false: Condition "fmt &
PERF_FORMAT_GROUP", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:518: else_branch: Reached else branch
libpfm-4.3.0/perf_examples/perf_util.c:523: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:526: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:529: cond_true: Condition "fmt &
PERF_FORMAT_TOTAL_TIME_ENABLED", taking true branch
libpfm-4.3.0/perf_examples/perf_util.c:531: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/perf_util.c:534: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:538: cond_false: Condition "fmt &
PERF_FORMAT_TOTAL_TIME_RUNNING", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:545: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:546: cond_false: Condition "fmt &
PERF_FORMAT_ID", taking false branch
libpfm-4.3.0/perf_examples/perf_util.c:553: if_end: End of if statement
libpfm-4.3.0/perf_examples/perf_util.c:555: uninit_use_in_call: Using
uninitialized value "time_running" when calling "fprintf(FILE * restrict, char
const * restrict, ...)".
Error: UNINIT (CWE-457):
libpfm-4.3.0/perf_examples/task_cpu.c:184: var_decl: Declaring variable "go"
without initializer.
libpfm-4.3.0/perf_examples/task_cpu.c:188: cond_false: Condition
"pfm_initialize() != 0", taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:189: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:191: cond_false: Condition "options.ncpus
>= 64", taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:192: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:196: cond_true: Condition "cpu <
options.ncpus", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:197: cond_true: Condition "grp <
options.num_groups", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:200: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/task_cpu.c:200: cond_false: Condition "!num_fds",
taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:201: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:202: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/task_cpu.c:197: loop_begin: Jumped back to beginning
of loop
libpfm-4.3.0/perf_examples/task_cpu.c:197: cond_true: Condition "grp <
options.num_groups", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:200: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/task_cpu.c:200: cond_false: Condition "!num_fds",
taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:201: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:202: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/task_cpu.c:197: loop_begin: Jumped back to beginning
of loop
libpfm-4.3.0/perf_examples/task_cpu.c:197: cond_false: Condition "grp <
options.num_groups", taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:202: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/task_cpu.c:203: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/task_cpu.c:196: loop_begin: Jumped back to beginning
of loop
libpfm-4.3.0/perf_examples/task_cpu.c:196: cond_true: Condition "cpu <
options.ncpus", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:197: cond_true: Condition "grp <
options.num_groups", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:200: cond_false: Condition "ret", taking
false branch
libpfm-4.3.0/perf_examples/task_cpu.c:200: cond_false: Condition "!num_fds",
taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:201: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:202: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/task_cpu.c:197: loop_begin: Jumped back to beginning
of loop
libpfm-4.3.0/perf_examples/task_cpu.c:197: cond_false: Condition "grp <
options.num_groups", taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:202: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/task_cpu.c:203: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/task_cpu.c:196: loop_begin: Jumped back to beginning
of loop
libpfm-4.3.0/perf_examples/task_cpu.c:196: cond_false: Condition "cpu <
options.ncpus", taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:203: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/task_cpu.c:206: cond_false: Condition "!pid", taking
false branch
libpfm-4.3.0/perf_examples/task_cpu.c:254: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:256: cond_true: Condition "cpu <
options.ncpus", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:258: cond_true: Condition "i < num_fds",
taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:262: cond_true: Condition
"is_group_leader", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:265: if_fallthrough: Falling through to
end of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:267: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:272: cond_false: Condition
"!options.pid", taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:275: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:279: cond_true: Condition
"is_group_leader", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:279: cond_true: Condition
"options.format_group", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:282: cond_true: Condition
"options.inherit", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:285: cond_true: Condition "options.pin",
taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:285: cond_true: Condition
"is_group_leader", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:288: cond_false: Condition "(fds + i).fd
== -1", taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:291: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:292: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/task_cpu.c:258: loop_begin: Jumped back to beginning
of loop
libpfm-4.3.0/perf_examples/task_cpu.c:258: cond_true: Condition "i < num_fds",
taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:262: cond_true: Condition
"is_group_leader", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:265: if_fallthrough: Falling through to
end of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:267: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:272: cond_true: Condition "!options.pid",
taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:279: cond_true: Condition
"is_group_leader", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:279: cond_true: Condition
"options.format_group", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:282: cond_true: Condition
"options.inherit", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:285: cond_true: Condition "options.pin",
taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:285: cond_true: Condition
"is_group_leader", taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:288: cond_false: Condition "(fds + i).fd
== -1", taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:291: if_end: End of if statement
libpfm-4.3.0/perf_examples/task_cpu.c:292: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/task_cpu.c:258: loop_begin: Jumped back to beginning
of loop
libpfm-4.3.0/perf_examples/task_cpu.c:258: cond_false: Condition "i < num_fds",
taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:292: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/task_cpu.c:293: loop: Jumping back to the beginning
of the loop
libpfm-4.3.0/perf_examples/task_cpu.c:256: loop_begin: Jumped back to beginning
of loop
libpfm-4.3.0/perf_examples/task_cpu.c:256: cond_false: Condition "cpu <
options.ncpus", taking false branch
libpfm-4.3.0/perf_examples/task_cpu.c:293: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/task_cpu.c:295: cond_true: Condition "!options.pid",
taking true branch
libpfm-4.3.0/perf_examples/task_cpu.c:296: uninit_use_in_call: Using
uninitialized value "go[1]" when calling "close(int)".
Error: UNINIT (CWE-457):
libpfm-4.3.0/perf_examples/self_count.c:134: var_decl: Declaring variable "idx"
without initializer.
libpfm-4.3.0/perf_examples/self_count.c:143: cond_true: Condition "!rdpmc(hdr,
&values[0])", taking true branch
libpfm-4.3.0/perf_examples/self_count.c:148: if_fallthrough: Falling through to
end of if statement
libpfm-4.3.0/perf_examples/self_count.c:155: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_count.c:157: cond_true: Condition "hdr->lock !=
seq", taking true branch
libpfm-4.3.0/perf_examples/self_count.c:138: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/self_count.c:143: cond_true: Condition "!rdpmc(hdr,
&values[0])", taking true branch
libpfm-4.3.0/perf_examples/self_count.c:148: if_fallthrough: Falling through to
end of if statement
libpfm-4.3.0/perf_examples/self_count.c:155: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_count.c:157: cond_false: Condition "hdr->lock
!= seq", taking false branch
libpfm-4.3.0/perf_examples/self_count.c:159: uninit_use_in_call: Using
uninitialized value "idx" when calling "printf(char const * restrict, ...)".
Error: UNUSED_VALUE (CWE-563):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2778: returned_pointer: Pointer
"tmp" returned by "SWIG_Python_str_AsChar(old_str)" is never used.
Error: UNUSED_VALUE (CWE-563):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2780: returned_pointer: Pointer
"tmp" returned by "SWIG_Python_str_AsChar(old_str)" is never used.
Error: UNUSED_VALUE (CWE-563):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:1005: returned_pointer: Pointer
"tmp" returned by "SWIG_Python_str_AsChar(old_str)" is never used.
Error: UNUSED_VALUE (CWE-563):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11134: returned_pointer: Pointer
"tmp" returned by "SWIG_Python_str_AsChar(str)" is never used.
Error: USE_AFTER_FREE (CWE-416):
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:382: cond_false: Condition "err ==
-1", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:383: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:389: cond_false: Condition "!dir1",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:390: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:395: cond_true: Condition "d1 =
readdir(dir1)", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:395: cond_true: Condition "err >= 0",
taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:397: cond_false: Condition
"!strcmp(d1->d_name, ".")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:398: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:400: cond_false: Condition
"!strcmp(d1->d_name, "..")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:401: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:407: cond_false: Condition "!dir2",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:408: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:417: cond_true: Condition
"!reuse_event", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:420: cond_false: Condition "!p",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:421: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:423: cond_true: Condition "p", taking
true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:426: cond_true: Condition "p", taking
true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:426: cond_true: Condition "p->name",
taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:430: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:442: cond_true: Condition "d2 =
readdir(dir2)", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:443: cond_false: Condition
"!strcmp(d2->d_name, ".")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:444: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:446: cond_false: Condition
"!strcmp(d2->d_name, "..")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:447: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:456: cond_false: Condition "fd == -1",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:457: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:463: cond_false: Condition "err < 0",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:464: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:468: cond_true: Condition "numasks <
8", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:469: if_fallthrough: Falling through
to end of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:474: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:476: cond_false: Condition "!um",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:479: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:488: cond_false: Condition
"!um->uname", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:492: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:498: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:442: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:442: cond_true: Condition "d2 =
readdir(dir2)", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:443: cond_true: Condition
"!strcmp(d2->d_name, ".")", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:444: continue: Continuing loop
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:498: loop: Looping back
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:442: cond_true: Condition "d2 =
readdir(dir2)", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:443: cond_false: Condition
"!strcmp(d2->d_name, ".")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:444: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:446: cond_false: Condition
"!strcmp(d2->d_name, "..")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:447: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:456: cond_false: Condition "fd == -1",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:457: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:463: cond_false: Condition "err < 0",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:464: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:468: cond_true: Condition "numasks <
8", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:469: if_fallthrough: Falling through
to end of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:474: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:476: cond_false: Condition "!um",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:479: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:488: cond_false: Condition
"!um->uname", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:492: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:498: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:442: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:442: cond_true: Condition "d2 =
readdir(dir2)", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:443: cond_false: Condition
"!strcmp(d2->d_name, ".")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:444: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:446: cond_false: Condition
"!strcmp(d2->d_name, "..")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:447: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:456: cond_false: Condition "fd == -1",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:457: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:461: closed_arg: "close(int)" closes
"fd".
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:463: cond_false: Condition "err < 0",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:464: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:468: cond_true: Condition "numasks <
8", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:469: if_fallthrough: Falling through
to end of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:474: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:476: cond_false: Condition "!um",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:479: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:488: cond_true: Condition
"!um->uname", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:489: double_close: Calling
"close(int)" closes handle "fd" which has already been closed.
------------------------------------------------------------------------------
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel