Each call to the keyfile macro in krb.h will strdup a copy of the srvtab name. Since this macro appears to be a variable not a function, the caller is unlikely to free the memory.