--- src/eog-metadata-reader-png.c +++ src/eog-metadata-reader-png.c @@ -369,8 +369,7 @@ if (priv->state == EMR_CHECK_CRC) { /* Check if it is actually an XMP chunk. * Throw it away if not. */ - if ((memcmp (priv->xmp_chunk, "XML:com.adobe.xmp\0", 18) != 0) - || (*(guint32*)(priv->xmp_chunk+18)) != 0) { + if (memcmp (priv->xmp_chunk, "XML:com.adobe.xmp\0\0\0\0\0", 22) != 0) { priv->state = EMR_SKIP_CRC; g_free (priv->xmp_chunk); priv->xmp_chunk = NULL;