Fix compilation with systemtap 1.3

Version 1.3 of <sys/sdt.h> uses this macro

  #define STAP_CAST(t) (size_t)t

that breaks like this if t is a function

  remote.c:1775: error: cast from function call of type 'const char *'
  to non-matching type 'long unsigned int' [-Wbad-function-cast]

For that to work it should probably look like this

  #define STAP_CAST(t) ((size_t)(t))

In systemtap 1.4 this was completely rewritten.

Anyway, before commit df0b57a95a t was always a variable, but now
also a function is used here, namely virNetSASLSessionGetIdentity.

Use an intermediate variable to avoid this problem.
This commit is contained in:
Matthias Bolte 2011-06-29 00:33:09 +02:00
parent f05759e0b5
commit c565b67a6a

View File

@ -1759,13 +1759,13 @@ remoteSASLFinish(virNetServerClientPtr client)
if (virNetServerClientSetIdentity(client, identity) < 0)
goto error;
virNetServerClientSetSASLSession(client, priv->sasl);
VIR_DEBUG("Authentication successful %d", virNetServerClientGetFD(client));
identity = virNetSASLSessionGetIdentity(priv->sasl);
PROBE(CLIENT_AUTH_ALLOW, "fd=%d, auth=%d, username=%s",
virNetServerClientGetFD(client), REMOTE_AUTH_SASL,
virNetSASLSessionGetIdentity(priv->sasl));
virNetServerClientGetFD(client), REMOTE_AUTH_SASL, identity);
virNetSASLSessionFree(priv->sasl);
priv->sasl = NULL;
@ -1793,6 +1793,7 @@ remoteDispatchAuthSaslStart(virNetServerPtr server ATTRIBUTE_UNUSED,
int rv = -1;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
const char *identity;
virMutexLock(&priv->lock);
@ -1856,9 +1857,9 @@ authfail:
goto error;
authdeny:
identity = virNetSASLSessionGetIdentity(priv->sasl);
PROBE(CLIENT_AUTH_DENY, "fd=%d, auth=%d, username=%s",
virNetServerClientGetFD(client), REMOTE_AUTH_SASL,
virNetSASLSessionGetIdentity(priv->sasl));
virNetServerClientGetFD(client), REMOTE_AUTH_SASL, identity);
goto error;
error:
@ -1888,7 +1889,7 @@ remoteDispatchAuthSaslStep(virNetServerPtr server ATTRIBUTE_UNUSED,
int rv = -1;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
const char *identity;
virMutexLock(&priv->lock);
@ -1952,9 +1953,9 @@ authfail:
goto error;
authdeny:
identity = virNetSASLSessionGetIdentity(priv->sasl);
PROBE(CLIENT_AUTH_DENY, "fd=%d, auth=%d, username=%s",
virNetServerClientGetFD(client), REMOTE_AUTH_SASL,
virNetSASLSessionGetIdentity(priv->sasl));
virNetServerClientGetFD(client), REMOTE_AUTH_SASL, identity);
goto error;
error: