Opened 8 years ago

Closed 8 years ago

#4500 closed Bugs (Committed)

Zero byte sized jpgs causes crash in CPicture::DoCreateThumbnail (simple patch provided)

Reported by: bugme Owned by: jmarshall
Priority: 4 - Normal Milestone: 8.10 "Babylon"
Component: Graphical User Interface (GUI) Version: GIT
Severity: Major Keywords: Thumbnail zero crash
Cc: Blocked By:
Blocking: Platform: Windows



First, apologies for using this account and not setting one up. I'm not sure if I'll stick with XBMC; I might try to find something more lightweight (although I do think XBMC is great, I'm really trying to find an mp3 player more than a media centre... anyway...)

Running on 64 bit Windows Server 2008, crashes inside ImageLib.dll somewhere. Note, I'm running my own Win32 compilation of the SVN code, not some 64 bit version..

The attached patch avoids triggering this bug, but you might want to deal with it inside ImageLib.dll instead? I don't know much about it though as I'm new to XBMC.

Best regards,


Attachments (1)

XBMC-Picture-cpp.diff (534 bytes) - added by bugme 8 years ago.
Patch to avoid crash in ImageLib.dll when jpeg filesize is 0.

Download all attachments as: .zip

Change History (5)

Changed 8 years ago by bugme

Patch to avoid crash in ImageLib.dll when jpeg filesize is 0.

comment:1 Changed 8 years ago by jmarshall

Do you have a debug log of when the error occurs? That'll give me a good idea of exactly which part in imagelib is failing.

comment:2 Changed 8 years ago by jmarshall

  • Owner set to jmarshall
  • Status changed from new to accepted

It's crashing due to an infinite feof() getc() error. Looking in to it.

comment:3 Changed 8 years ago by jmarshall

  • Milestone set to 8.10

comment:4 Changed 8 years ago by jmarshall

  • Resolution set to fixed
  • Status changed from accepted to closed

Fixed in revision 14878. Problem was that win32 defines feof() through a macro, which thus meant our dllloader couldn't wrap it, and it was constantly returning that it wasn't at EOF, when it obviously was.

Note: See TracTickets for help on using tickets.