oprofile Log

Commit Date  
[6ee980] by Maynard Johnson Maynard Johnson

Fix Coverity errors found on May 20, 2013 git snapshot

Coverity identified the following errors on scans run from May 7 through
May 20, 2013:

Wrapper object use after free,Memory - illegal accesses,/agents/jvmpi/jvmpi_oprofile.cpp,compiled_method_load(JVMPI_Event *)
Unchecked return value,Error handling issues,/daemon/opd_mangling.c,opd_open_sample_file
Dereference after null check,Null pointer dereferences,/daemon/opd_sfile.c,sfile_hash
Uninitialized scalar field,Uninitialized members,/gui/oprof_start_config.cpp,config_setting::config_setting()
Division or modulo by zero,Integer handling issues,/libdb/db_stat.c,odb_hash_stat
Resource leak,Resource leaks,/libop/op_cpu_type.c,_auxv_fetch
Resource leak,Resource leaks,/libop/op_cpu_type.c,fetch_at_hw_platform
Negative array index read,Memory - illegal accesses,/libop/op_events.c,_is_um_valid_bitmask
Write to pointer after free,Memory - corruptions,/libop/op_events.c,read_events
Read from pointer after free,Memory - illegal accesses,/libop/op_events.c,_is_um_valid_bitmask
Dereference after null check,Null pointer dereferences,/libop/op_mangle.c,op_mangle_filename
Dereference after null check,Null pointer dereferences,/libop/op_mangle.c,op_mangle_filename
Time of check time of use,Security best practices violations,/libopagent/opagent.c,op_open_agent
Improper use of negative value,Integer handling issues,/libperf_events/operf_counter.cpp,operf_record::setup()
Double free,Memory - corruptions,/libperf_events/operf_counter.cpp,operf_record::setup()
Uninitialized pointer read,Memory - illegal accesses,/libperf_events/operf_counter.cpp,<unnamed>::_get_perf_event_from_file(mmap_info &)
Unchecked return value,Error handling issues,/libperf_events/operf_mangling.cpp,"operf_open_sample_file(odb_t *, operf_sfile *, operf_sfile *, int, int)"
Using invalid iterator,API usage errors,/libperf_events/operf_process_info.cpp,operf_process_info::try_disassociate_from_parent(char *)
Non-array delete for scalars,Memory - illegal accesses,/libregex/op_regex.cpp,"<unnamed>::op_regerror(int, const re_pattern_buffer &)"
Resource leak,Resource leaks,/libutil++/op_bfd.cpp,"op_bfd::op_bfd(const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&, const string_filter &, const extra_images &, bool &)"
Explicit null dereferenced,Null pointer dereferences,/opjitconv/create_bfd.c,fill_symtab
Resource leak,Resource leaks,/opjitconv/opjitconv.c,_cleanup_jitdumps
Use of untrusted string value,Insecure data handling,/opjitconv/opjitconv.c,main
Resource leak,Resource leaks,/pe_profiling/operf.cpp,_get_cpu_for_perf_events_cap()
Dereference null return value,Null pointer dereferences,/pe_profiling/operf.cpp,_process_session_dir()
Incorrect deallocator used,API usage errors,/pe_profiling/operf.cpp,_process_events_list()


This patch fixes those errors.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2013-05-28 13:19:25 Tree
[8f12d5] by Maynard Johnson Maynard Johnson

Fix configure to not alter user variables and remove non-working --with-gcc option

The configure script for oprofile had a few places
where user variables were being altered in contradiction
to the GNU Automake manual. See the following URL for details:


In brief, user variables are those listed under "Some influential
environment variables" section of the output from 'configure --help'.
These are variables which the user may set prior to invoking configure,
and thus, the configure script should not alter them. This patch
makes use of new internal variables (e.g., OP_LDFLAGS and OP_CPPFLAGS),
which did unfortunately create quite a ripple effect with the Makefile.am
files. But this was unavoidable in order to correct this error.

Additionally, the '--with-gcc' option does not work anymore because
the generated configure script runs the AC_PROG_CC before processing the
"--with-gcc" option, so it fails to find a compiler. Unsure of when
this stopped working (assume it must have worked in 2005 when it was
initially added), but even fairly old distros (e.g., SLES 10) with
autoconf version 2.59 do not process this option as we would want.
If users wish to configure oprofile to use an alternate compiler,
they should pass the compiler pathnames on the configure command line, thusly:
./configure CC=/my-gcc-install/bin/gcc CXX=/my-gcc-instal/g++

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-13 17:44:49 Tree
[5b12ab] by William Cohen William Cohen

Ensure that malloc'ed memory freed in check_redundant_key

Analysis of the OProfile code by Coverity showed that in some cases the
memory malloced for bitmap would not be freed. In the case that a
redundant key is found the memory should also be freed.

2011-05-27 20:44:05 Tree
[9529ae] by William Cohen William Cohen

Convert the .cvsignore files into .gitignore files.

2011-02-15 19:50:17 Tree
[70074d] by Maynard johnson Maynard johnson

Add IBS support, patch 1 of 4

2009-04-17 18:40:43 Tree
[39b41e] by John Levon John Levon

style fixes

2006-11-18 01:18:59 Tree
[191951] by Philippe Elie Philippe Elie

samples files statistics must use 64 bits samples count

2005-08-19 11:56:50 Tree
[f63ed0] by Philippe Elie Philippe Elie

libdb: daemon always increment samples count by one so we can split the api in two part, one to update a node and one to setup a new node. This change doesn't touch the file format, it only improve the fast path. I removed also some sanity check inside the fast path

2005-08-17 19:15:42 Tree
[a0a44e] by Philippe Elie Philippe Elie

improve libdb benchmark

2005-08-15 11:11:42 Tree
[8bec66] by Philippe Elie Philippe Elie

allocate node in two step giving use better warranty than a node created will not be seen by pp tools in an inconsistent state

2005-08-13 19:41:54 Tree
[ab3cef] by Philippe Elie Philippe Elie

handle samples at a zero relative offset from the mapping, this fix a corner case when kernel module get a sample a the first byte of their .text section

2005-08-13 02:50:43 Tree
[5005ba] by Philippe Elie Philippe Elie

coding style, nothing interresting

2005-08-07 11:15:54 Tree
[3de9e0] by John Levon John Levon

fix tests build

2005-04-07 02:59:34 Tree
[bf0097] by John Levon John Levon

trivial style fixes

2005-03-29 17:10:55 Tree
[da376f] by Philippe Elie Philippe Elie

thinko in #931871 bug fix

2004-07-21 11:26:50 Tree
[c62f2d] by John Levon John Levon

some trivial renamings

2004-05-29 16:29:42 Tree
[c99415] by John Levon John Levon

clean up libdb API a little

2004-05-28 18:51:49 Tree
[189ee5] by John Levon John Levon

hopefully fix dcookie aliasing bug, by Bin Ren

2004-05-28 17:21:40 Tree
[fd73ea] by John Levon John Levon

check_style pedantry, no changelog.

2004-01-19 20:00:28 Tree
[4cc3cf] by Philippe Elie Philippe Elie

minor fix: 64 bits build, missing std:: in header file

2004-01-18 19:54:14 Tree
[0d0e60] by Philippe Elie Philippe Elie


2004-01-18 02:21:16 Tree
[ee4beb] by Philippe Elie Philippe Elie

-pedantic fix

2003-11-04 15:03:56 Tree
[766c1d] by Philippe Elie Philippe Elie

daemon/opd_sfile.c: protect the sfile we are acting on to be freed by sfile_lru_clear().
libdb/db_manage.c: Do not put hash->descr in an inconsistent state when a failure occur.

2003-10-14 19:27:37 Tree
[fc1d3a] by Philippe Elie Philippe Elie

enable --separate=thread,cpu on 2.4 kernel. IA64 updated too but not tested (even if thread separation is broken on ia64 it should break nothing if you don't use --separate=thread). The way per-cpu profiling is done is ugly and use too many memory (TODO item added). It's not advised currently to use both cpu and thread separation. This patch also do many cleanup in dae/*, actually, with these new features, dae/* is less ugly.

2003-10-11 14:40:40 Tree
[535bf0] by Philippe Elie Philippe Elie

minor cleanup in */tests/Makefile.am; add libop/tests/cpu_type_tests.c; libop/op_cpu_type.[hc] constification; utils/op_help.c: minor tidy

2003-10-11 13:38:23 Tree
Older >

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks