Fix invalid storage reference by apr_psprintf()
when creating a string from salt[].  salt[] is not
'\0'-terminated, so apr_psprintf() needs to be told
the extent of the bytes to read.

It is easy to test old/new code standalone with valgrind;
jst insert the getkey() function into this template:

-----------getkey() goes here-----------------

int main(void)
{
    apr_pool_t *p;

    apr_initialize();
    apr_pool_create(&p, NULL);

    printf("%s\n", getkey(p));
    return 0;
}