logging-log4cxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gerrit Bruchhäuser <gbruchhaeu...@nero.com>
Subject putenv and getenv
Date Mon, 23 Apr 2007 15:08:55 GMT
Dear Log4Cxx dev group,

There is another issue that valgrind has noted. I believe this is more a 
valgrind or compiler related problem. So these are the two stacktraces:

==15459==    at 0x442B980: getenv (in /lib/libc-2.5.so)
==15459==    by 0x413126B: log4cxx::helpers::System::getProperty(std::string 
const&) (system.cpp:58)
==15459==    by 0x4108F3B: 
log4cxx::helpers::OptionConverter::getSystemProperty(std::string const&, 
std::string const&) (optionconverter.cpp:261)
==15459==    by 0x4101E67: log4cxx::LogManager::getLoggerRepository() 
==15459==    by 0x41024AD: log4cxx::LogManager::getLogger(std::string const&) 
==15459==    by 0x40FAD60: log4cxx::Logger::getLogger(std::string const&) 
==15459==    by 0x804B2C3: NOS::log::CLoggerImpl::CLoggerImpl(std::string 
const&) (LoggerFacade.cpp:88)
==15459==    by 0x804AAE1: NOS::log::CLoggerFacade::CLoggerFacade(std::string 
const&) (LoggerFacade.cpp:158)
==15459==    by 0x80495DF: __static_initialization_and_destruction_0(int, int) 
==15459==    by 0x8049708: _GLOBAL__I_main (example01.cpp:14)

==14220== Invalid read of size 1
==14220==    at 0x442BCBD: (within /lib/libc-2.5.so)
==14220==    by 0x442BA66: putenv (in /lib/libc-2.5.so)
==14220==    by 0x4135931: log4cxx::helpers::TimeZone::TimeZone(std::string 
const&) (timezone.cpp:45)
==14220==    by 0x4135D15: log4cxx::helpers::TimeZone::getTimeZone(std::string 
const&) (timezone.cpp:97)
==14220==    by 0x40CCE51: __static_initialization_and_destruction_0(int, int) 
==14220==    by 0x40CCF0E: 
==14220==    by 0x413FAB1: (within /usr/local/lib/liblog4cxx.so.9.0.0)
==14220==    by 0x40B2224: (within /usr/local/lib/liblog4cxx.so.9.0.0)
==14220==    by 0x400DBC4: call_init (in /lib/ld-2.5.so)
==14220==    by 0x400DCD0: _dl_init (in /lib/ld-2.5.so)
==14220==    by 0x40008FE: (within /lib/ld-2.5.so)
==14220==  Address 0x45E21CE is 14 bytes inside a block of size 16 free'd
==14220==    at 0x402130B: operator delete(void*) 
(in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==14220==    by 0x437CDBC: std::string::_Rep::_M_destroy(std::allocator<char> 
const&) (in /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6.0.8)
==14220==    by 0x437F8F7: std::string::~string() 
(in /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6.0.8)
==14220==    by 0x4135A86: log4cxx::helpers::TimeZone::TimeZone(std::string 
const&) (timezone.cpp:66)
==14220==    by 0x4135C1F: __static_initialization_and_destruction_0(int, int) 
==14220==    by 0x4135CD8: _GLOBAL__I__Z7getYearx (timezone.cpp:207)
==14220==    by 0x413FAB1: (within /usr/local/lib/liblog4cxx.so.9.0.0)
==14220==    by 0x40B2224: (within /usr/local/lib/liblog4cxx.so.9.0.0)
==14220==    by 0x400DBC4: call_init (in /lib/ld-2.5.so)
==14220==    by 0x400DCD0: _dl_init (in /lib/ld-2.5.so)
==14220==    by 0x40008FE: (within /lib/ld-2.5.so)

I could solve both valgrind reports with a local char array keeping the 
content of the pointers passed to 'getenv' and 'putenv'. As said before, I 
don't think this is a Log4Cxx issue. However, maybe it is worth someone to 
look over.

Gerrit Bruchhaeuser

SD "Entertainment & Services"

Phone +49 7248 928 - 0
Fax +49 7248 928 - 499
E-Mail gbruchhaeuser@nero.com


Nero AG
Im Stoeckmaedle 13-15
76307 Karlsbad

Vorstand: Richard Lesser (CEO), Kevin Dillon (CFO)
Aufsichtsratvorsitzender/ chairman of the supervisory board: Jim Corbett
Amtsgericht Mannheim HRB 362519
This e-mail may contain confidential and/or privileged
information. If you are not the intended recipient (or have
received this e-mail in error) please notify the sender
immediately and destroy this e-mail.
Any unauthorised copying, disclosure or distribution of the
material in this e-mail is strictly forbidden.

View raw message