I think it is a bug in the DHCP client, which adds a null character to the hostname it sends to the server.
The DHCP client options are of structure Type/Length/Value so a client is supposed to set the length
of the hostname to exactly the number of characters.
However there exist buggy clients that either send a length of 1 more and a \00 at the end of the name,
or send a fixed length and pad it with \00 as necessary.
Although it is the client that is wrong, it would be conservative to have code in the server that strips the
\00 characters from the name when they are present. ISC DHCPD does this, after encountering
the same problem.
However, the one you should really go after is the manufacturer of the client device.
Use Tools->Packet Sniffer, do a capture to some file, select protocol udp and port 67, apply and start.
Wait some time then stop the capture, download the file, and load it into WireShark.