Fixed #148 as suggested (need to do perf tests but should work correctly)
diff --git a/release-notes/CREDITS b/release-notes/CREDITS
index eb815df..a8b3859 100644
--- a/release-notes/CREDITS
+++ b/release-notes/CREDITS
@@ -35,3 +35,9 @@
 Shay Banon
   * Reported #145: NPE at BytesToNameCanonicalizer
    (2.4.2)
+
+rjmac@github
+  * Reported #146: Error while parsing negative floats at the end of the input buffer
+   (2.4.2)
+  * Reported #148: BytesToNameCanonicalizer can mishandle leading null byte(s).
+   (2.5.0)
diff --git a/release-notes/VERSION b/release-notes/VERSION
index c22574f..a5e2772 100644
--- a/release-notes/VERSION
+++ b/release-notes/VERSION
@@ -1,6 +1,9 @@
 Project: jackson-core
 Version: 2.5.0 (xx-xxx-2014)
 
+#148: BytesToNameCanonicalizer can mishandle leading null byte(s).
+ (reported by rjmac@github)
+
 ------------------------------------------------------------------------
 === History: ===
 ------------------------------------------------------------------------
diff --git a/src/main/java/com/fasterxml/jackson/core/json/UTF8StreamJsonParser.java b/src/main/java/com/fasterxml/jackson/core/json/UTF8StreamJsonParser.java
index 4d8067d..24cb714 100644
--- a/src/main/java/com/fasterxml/jackson/core/json/UTF8StreamJsonParser.java
+++ b/src/main/java/com/fasterxml/jackson/core/json/UTF8StreamJsonParser.java
@@ -1956,7 +1956,7 @@
             if (qlen >= quads.length) {
                 _quadBuffer = quads = growArrayBy(quads, quads.length);
             }
-            quads[qlen++] = currQuad;
+            quads[qlen++] = pad(currQuad, currQuadBytes);
         }
         Name name = _symbols.findName(quads, qlen);
         if (name == null) {
@@ -1974,6 +1974,7 @@
     private final Name findName(int q1, int lastQuadBytes)
         throws JsonParseException
     {
+        q1 = pad(q1, lastQuadBytes);
         // Usually we'll find it from the canonical symbol table already
         Name name = _symbols.findName(q1);
         if (name != null) {
@@ -1987,6 +1988,7 @@
     private final Name findName(int q1, int q2, int lastQuadBytes)
         throws JsonParseException
     {
+        q2 = pad(q2, lastQuadBytes);
         // Usually we'll find it from the canonical symbol table already
         Name name = _symbols.findName(q1, q2);
         if (name != null) {
@@ -2004,7 +2006,7 @@
         if (qlen >= quads.length) {
             _quadBuffer = quads = growArrayBy(quads, quads.length);
         }
-        quads[qlen++] = lastQuad;
+        quads[qlen++] = pad(lastQuad, lastQuadBytes);
         Name name = _symbols.findName(quads, qlen);
         if (name == null) {
             return addName(quads, qlen, lastQuadBytes);
@@ -3240,7 +3242,7 @@
 
     /*
     /**********************************************************
-    /* Binary access
+    /* Internal methods, binary access
     /**********************************************************
      */
 
@@ -3355,4 +3357,17 @@
             builder.appendThreeBytes(decodedData);
         }
     }
+
+    /*
+    /**********************************************************
+    /* Internal methods, other
+    /**********************************************************
+     */
+
+    /**
+     * Helper method needed to fix [Issue#148], masking of 0x00 character
+     */
+    private final static int pad(int q, int bytes) {
+        return (bytes == 4) ? q : (q | (-1 << (bytes << 3)));
+    }
 }
diff --git a/src/test/java/com/fasterxml/jackson/core/failing/TestJsonParserSymbols.java b/src/test/java/com/fasterxml/jackson/core/json/TestParserSymbols.java
similarity index 82%
rename from src/test/java/com/fasterxml/jackson/core/failing/TestJsonParserSymbols.java
rename to src/test/java/com/fasterxml/jackson/core/json/TestParserSymbols.java
index 97c9ea3..dd0c271 100644
--- a/src/test/java/com/fasterxml/jackson/core/failing/TestJsonParserSymbols.java
+++ b/src/test/java/com/fasterxml/jackson/core/json/TestParserSymbols.java
@@ -1,19 +1,16 @@
-package com.fasterxml.jackson.core.failing;
-
-import java.io.IOException;
+package com.fasterxml.jackson.core.json;
 
 import com.fasterxml.jackson.core.*;
-import com.fasterxml.jackson.core.json.ReaderBasedJsonParser;
-import com.fasterxml.jackson.core.json.UTF8StreamJsonParser;
 
-@SuppressWarnings("serial")
-public class TestJsonParserSymbols
+public class TestParserSymbols
     extends com.fasterxml.jackson.test.BaseTest
 {
+    // For [Issue#148]
     public void testSymbolsWithNullBytes() throws Exception {
         _testSymbolsWithNull(true);
     }
 
+    // For [Issue#148]
     public void testSymbolsWithNullChars() throws Exception {
         _testSymbolsWithNull(false);
     }