Il 27/01/2015 20:27, Igor Mironchik ha scritto:
I've looked at qjpeghandler.cpp and it is strangely that practically all
of my photos produced by my Android camera is corrupted. Do you know any
software that can give me information about exif in jpeg that I can be
sure that jpeg is corrupted? Thank you.

Possibly exiftool or some any other image manipulation program.

But also I wonder about the code around your backtrace:

0       qt_message_fatal        qlogging.cpp    1407    0x57ed3f21      
1       QMessageLogger::warning qlogging.cpp    396     0x57ed28bb      
2       QBuffer::seek   qbuffer.cpp     374     0x5807b386      
3       QDataStream::skipRawData        qdatastream.cpp 1169    0x5807dfbc      
4       getExifOrientation      qjpeghandler.cpp        820     0x5ab66204      

=>

    795     quint32 offset;
    ...
    811     stream >> offset;
    812     // we have already used 8 bytes of TIFF header
    813     offset -= 8;
    814
    815     // read IFD
    816     while (!stream.atEnd()) {
    817         quint16 numEntries;
    818
    819         // skip offset bytes to get the next IFD
    820         if (stream.skipRawData(offset) != (qint32)offset)
    821             return -1;

Note in particular that "stream" reads an unsigned 32 bit int into offset, but then skipRawData silently converts to signed... (but it may be totally unrelated with the problem here, which perhaps results from bad EXIF parsing on Qt side)

HTH,
--
Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel. UK +44-1738-450410, Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-independent software solutions

Attachment: smime.p7s
Description: Firma crittografica S/MIME

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to