The following issues were found
tools/perf/util/cloexec.c
1 issues
Line: 41
Column: 2
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
int err;
int cpu;
pid_t pid = -1;
char sbuf[STRERR_BUFSIZE];
cpu = sched_getcpu();
if (cpu < 0)
cpu = 0;
Reported by FlawFinder.
tools/perf/util/color.c
1 issues
Line: 56
Column: 7
CWE codes:
134
Suggestion:
Use a constant for the format specification
if (perf_use_color_default && *color)
fprintf(fp, "%s", color);
r += vfprintf(fp, fmt, args);
if (perf_use_color_default && *color)
fprintf(fp, "%s", PERF_COLOR_RESET);
return r;
}
Reported by FlawFinder.
tools/perf/util/color_config.c
1 issues
Line: 32
Column: 16
CWE codes:
807
20
Suggestion:
Check environment variables carefully before using them
if (stdout_is_tty < 0)
stdout_is_tty = isatty(1);
if (stdout_is_tty || pager_in_use()) {
char *term = getenv("TERM");
if (term && strcmp(term, "dumb"))
return 1;
}
return 0;
}
Reported by FlawFinder.
tools/lib/bpf/skel_internal.h
1 issues
Line: 88
Column: 2
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
attr.insns = (long) opts->insns;
attr.insn_cnt = opts->insns_sz / sizeof(struct bpf_insn);
attr.license = (long) "Dual BSD/GPL";
memcpy(attr.prog_name, "__loader.prog", sizeof("__loader.prog"));
attr.fd_array = (long) &map_fd;
attr.log_level = opts->ctx->log_level;
attr.log_size = opts->ctx->log_size;
attr.log_buf = opts->ctx->log_buf;
attr.prog_flags = BPF_F_SLEEPABLE;
Reported by FlawFinder.
tools/perf/util/db-export.c
1 issues
Line: 457
Column: 3
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
for (i = 0; branch_types[i].name ; i++) {
const char *name = branch_types[i].name;
u32 type = branch_types[i].branch_type;
char buf[64];
if (type == PERF_IP_FLAG_BRANCH ||
(type & (PERF_IP_FLAG_TRACE_BEGIN | PERF_IP_FLAG_TRACE_END)))
continue;
Reported by FlawFinder.
tools/perf/util/demangle-ocaml.c
1 issues
Line: 40
Column: 8
CWE codes:
126
return NULL;
}
len = strlen(sym);
/* the demangled symbol is always smaller than the mangled symbol */
result = malloc(len + 1);
if (!result)
return NULL;
Reported by FlawFinder.
tools/testing/selftests/size/get_size.c
1 issues
Line: 63
Column: 2
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
static int print_num(unsigned long num)
{
char num_buf[30];
return print(num_to_str(num, num_buf, sizeof(num_buf)));
}
static int print_k_value(const char *s, unsigned long num, unsigned long units)
Reported by FlawFinder.
tools/perf/util/dump-insn.h
1 issues
Line: 18
Column: 2
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
bool is64bit;
int cpu;
/* Temporary */
char out[256];
};
const char *dump_insn(struct perf_insn *x, u64 ip,
u8 *inbuf, int inlen, int *lenp);
int arch_is_branch(const unsigned char *buf, size_t len, int x86_64);
Reported by FlawFinder.
tools/lib/bpf/nlattr.c
1 issues
Line: 190
Column: 13
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
}
if (tb[NLMSGERR_ATTR_MSG])
errmsg = (char *) libbpf_nla_data(tb[NLMSGERR_ATTR_MSG]);
pr_warn("Kernel error message: %s\n", errmsg);
return 0;
}
Reported by FlawFinder.
tools/perf/util/get_current_dir_name.c
1 issues
Line: 13
Column: 2
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
char *get_current_dir_name(void)
{
char pwd[PATH_MAX];
return getcwd(pwd, sizeof(pwd)) == NULL ? NULL : strdup(pwd);
}
#endif // HAVE_GET_CURRENT_DIR_NAME
Reported by FlawFinder.