Package: valgrind
Version: 1:3.2.1-1
Severity: minor
Hello,
in one valgrind output, I saw errors like
==2671== Syscall param write(buf) points to uninitialised byte(s)
==2671== at 0x405809E: __write_nocancel (in
/usr/lib/debug/libpthread-2.5.so)
==2671== by 0x41DB526E: _X11TransWrite (in /usr/lib/libX11.so.6.2.0)
==2671== by 0x41DBABA5: (within /usr/lib/libX11.so.6.2.0)
==2671== by 0x410019C7: XRenderComposite (in
/usr/lib/libXrender.so.1.3.0)
==2671== by 0x4288E6A9: QPSPrinterPrivate::matrixSetup(QPainter*)
(qpsprinter.cpp:5876)
==2671== by 0x42890C82: QPSPrinterPrivate::QPSPrinterPrivate(QPrinter*,
int) (qpsprinter.cpp:5148)
==2671== by 0x42A42B98: QPushButton::drawButton(QPainter*)
(qpushbutton.cpp:514)
==2671== by 0x8131315: KrDetailedViewItem::paintCell(QPainter*,
QColorGroup const&, int, int, int) (krdetailedviewitem.cpp:240)
==2671== by 0x42A408A1: QProgressBar::drawContents(QPainter*)
(qprogressbar.cpp:380)
==2671== by 0x42A74050: QToolButton::QToolButton(QWidget*, char const*)
(qtoolbutton.cpp:150)
==2671== by 0x433B9C13: KPassivePopup::message(QString const&, QString
const&, QWidget*, char const*) (kpassivepopup.cpp:451)
==2671== by 0x42A748EF: QTipManager::trUtf8(char const*, char const*)
(qtooltip.moc:115)
==2671== Address 0x4239CFD is 4,413 bytes inside a block of size 16,384
alloc'd
==2671== at 0x40056CA: calloc (vg_replace_malloc.c:279)
==2671== by 0x41DA5C8D: XOpenDisplay (in /usr/lib/libX11.so.6.2.0)
==2671== by 0x42864867: QPixmap::xForm(QWMatrix const&) const
(qpixmap_x11.cpp:2188)
==2671== by 0x428668BD: qt_init(int*, char**, QApplication::Type)
(qpaintdevice_x11.cpp:1130)
==2671== by 0x428DE907: QIconSetIcon::operator=(QIconSetIcon const&)
(qiconset.cpp:108)
==2671== by 0x428DEC46: QApplication::QApplication(int&, char**, bool)
(qiconset.cpp:544)
==2671== by 0x42FCE4CD: KApplication::KApplication(bool, bool)
(qstring.h:1067)
==2671== by 0x808BD53: main (krusaderapp.h:11)
However, I think that calloc, which by definition fills the returned block
with zeros,
should return memory marked as initialized to valgrind, as opposed to
malloc which
can return anything and program cannot rely on it.
Regards
Jiri Palecek
-- System Information:
Debian Release: 4.0
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/dash
Kernel: Linux 2.6.17.3
Locale: LANG=cs_CZ, LC_CTYPE=cs_CZ (charmap=ISO-8859-2) (ignored: LC_ALL
set to cs_CZ)
Versions of packages valgrind depends on:
ii libc6 2.5-0exp3 GNU C Library: Shared
libraries
Versions of packages valgrind recommends:
ii gdb 6.4.90.dfsg-1 The GNU Debugger
-- no debconf information