core: Do not identify PNG files as PGP signatures.
authorWerner Koch <wk@gnupg.org>
Wed, 10 Aug 2016 13:31:25 +0000 (15:31 +0200)
committerWerner Koch <wk@gnupg.org>
Wed, 10 Aug 2016 13:35:52 +0000 (15:35 +0200)
* src/data-identify.c (next_openpgp_packet): Blacklist PNG files.
--

GnuPG-bug-id: 2314
Signed-off-by: Werner Koch <wk@gnupg.org>
src/data-identify.c

index 88a472f..1edfb9b 100644 (file)
@@ -95,6 +95,11 @@ next_openpgp_packet (unsigned char const **bufptr, size_t *buflen,
   if (!len)
     return gpg_error (GPG_ERR_NO_DATA);
 
+  /* First some blacklisting.  */
+  if (len >= 4 && !memcmp (buf, "\x89PNG", 4))
+    return gpg_error (GPG_ERR_INV_PACKET); /* This is a PNG file.  */
+
+  /* Start parsing.  */
   ctb = *buf++; len--;
   if ( !(ctb & 0x80) )
     return gpg_error (GPG_ERR_INV_PACKET); /* Invalid CTB. */