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

Reply via email to