sixlowpan: handle malloc error

The return value of malloc wasn't checked before, resulting in possibly undefined behavior.
Also remove a redundant (re)assignment.
On a related note:

>  If the size of the space requested is 0, the behavior is implementation-defined: the value returned shall be either a null pointer or a unique pointer.
—http://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html

I.e. don't invoke malloc with a size of zero, or you still have to free the result (`free(NULL)` is defined to be a no-op).