* reporting APIs or logging APIs, to prevent recursion
*/
static int
-virLogHostnameString(const char **rawmsg,
+virLogHostnameString(char **rawmsg,
char **msg)
{
char *hostname = virGetHostnameQuiet();
if (priority >= virLogOutputs[i].priority) {
if (virLogOutputs[i].logInitMessage) {
const char *rawinitmsg;
+ char *hoststr = NULL;
char *initmsg = NULL;
if (virLogVersionString(&rawinitmsg, &initmsg) >= 0)
virLogOutputs[i].f(&virLogSelf, VIR_LOG_INFO,
timestamp, NULL, 0, rawinitmsg, initmsg,
virLogOutputs[i].data);
VIR_FREE(initmsg);
- if (virLogHostnameString(&rawinitmsg, &initmsg) >= 0)
+ if (virLogHostnameString(&hoststr, &initmsg) >= 0)
virLogOutputs[i].f(&virLogSelf, VIR_LOG_INFO,
__FILE__, __LINE__, __func__,
- timestamp, NULL, 0, rawinitmsg, initmsg,
+ timestamp, NULL, 0, hoststr, initmsg,
virLogOutputs[i].data);
+ VIR_FREE(hoststr);
VIR_FREE(initmsg);
virLogOutputs[i].logInitMessage = false;
}
if (virLogNbOutputs == 0) {
if (logInitMessageStderr) {
const char *rawinitmsg;
+ char *hoststr = NULL;
char *initmsg = NULL;
if (virLogVersionString(&rawinitmsg, &initmsg) >= 0)
virLogOutputToFd(&virLogSelf, VIR_LOG_INFO,
timestamp, NULL, 0, rawinitmsg, initmsg,
(void *) STDERR_FILENO);
VIR_FREE(initmsg);
- if (virLogHostnameString(&rawinitmsg, &initmsg) >= 0)
+ if (virLogHostnameString(&hoststr, &initmsg) >= 0)
virLogOutputToFd(&virLogSelf, VIR_LOG_INFO,
__FILE__, __LINE__, __func__,
- timestamp, NULL, 0, rawinitmsg, initmsg,
+ timestamp, NULL, 0, hoststr, initmsg,
(void *) STDERR_FILENO);
+ VIR_FREE(hoststr);
VIR_FREE(initmsg);
logInitMessageStderr = false;
}