receiver: Fix a GCC warning in create_image_id()
receiver: Fix a GCC warning in create_image_id()

When compiling with GCC 9.2.1 under Fedora 31 I got the following
compiler warning

In file included from /usr/include/string.h:495,
                 from receiptomatic.c:17:
In function ‘strncat’,
    inlined from ‘create_image_id’ at receiptomatic.c:229:3,
    inlined from ‘process_part’ at receiptomatic.c:437:13:
/usr/include/bits/string_fortified.h:136:10: warning: ‘__builtin___strncat_chk’ output may be truncated copying 2 bytes from a string of length 2 [-Wstringop-truncation]
  136 |   return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is caused by the following code

    for (i = 0; i < hbs; i++) {
        sprintf(ht, "%.2x", hash[i]);
        strncat(shash, ht, 2);
    }

It seems because we are only taking two of the potential three
characters from ht[] we trigger this warning. The third character will
be '\0'.

The simplest thing is to just say to strncat(3) to take three
characters.

Also checked under valgrind that no problems are reported with this
change.

Signed-off-by: Andrew Clayton <02e0a999c50b1f88df7a8f5a04e1b76b35ea6a88@digital-domain.net>

ac000/receiptomatic