From e1d9dfed5777ec96fbe7c8d235aef4885ce28cf7 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 03 Nov 2014 11:38:50 +0000
Subject: [PATCH] JPEGSyntaxImpl.java: In isValidJfif() and isValidExif(), fixed a bug: original code was buggy. In isValidJfif(), fixed the javadoc that I badly copied in r11231 :(

---
 opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/JPEGSyntaxImpl.java |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/JPEGSyntaxImpl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/JPEGSyntaxImpl.java
index 7f46346..a66b7bc 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/JPEGSyntaxImpl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/JPEGSyntaxImpl.java
@@ -22,9 +22,8 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
- *      Portions Copyright 2012 ForgeRock AS
+ *      Portions Copyright 2012-2014 ForgeRock AS
  */
-
 package org.forgerock.opendj.ldap.schema;
 
 import org.forgerock.i18n.LocalizableMessageBuilder;
@@ -80,16 +79,16 @@
     }
 
     /**
-     * Exif files (from most digital cameras) start:
+     * JFIF files start:
      * <pre>
-     * 0xff 0xd8 0xff 0xe1 LH LL 0x45 0x78 0x69 0x66 ...
-     * SOI       APP1      len   "Exif"
+     * 0xff 0xd8 0xff 0xe0 LH LL 0x4a 0x46 0x49 0x46 ...
+     * SOI       APP0      len   "JFIF"
      * </pre>
      * So all legal values must be at least 10 bytes long
      */
     private boolean isValidJfif(final ByteSequence value) {
         return value.length() >= 10
-                && value.byteAt(0) == (byte) 0xff || value.byteAt(1) == (byte) 0xd8
+                && value.byteAt(0) == (byte) 0xff && value.byteAt(1) == (byte) 0xd8
                 && value.byteAt(2) == (byte) 0xff && value.byteAt(3) == (byte) 0xe0
                 && value.byteAt(6) == 'J' && value.byteAt(7) == 'F'
                 && value.byteAt(8) == 'I' && value.byteAt(9) == 'F';
@@ -105,7 +104,7 @@
      */
     private boolean isValidExif(final ByteSequence value) {
         return value.length() >= 10
-                && value.byteAt(0) == (byte) 0xff || value.byteAt(1) == (byte) 0xd8
+                && value.byteAt(0) == (byte) 0xff && value.byteAt(1) == (byte) 0xd8
                 && value.byteAt(2) == (byte) 0xff && value.byteAt(3) == (byte) 0xe1
                 && value.byteAt(6) == 'E' && value.byteAt(7) == 'x'
                 && value.byteAt(8) == 'i' && value.byteAt(9) == 'f';

--
Gitblit v1.10.0