48b97a8
diff --git a/sample/server.c b/sample/server.c
48b97a8
index f5aff68..6c684af 100644
48b97a8
--- a/sample/server.c
48b97a8
+++ b/sample/server.c
48b97a8
@@ -227,6 +227,8 @@ int mysasl_negotiate(FILE *in, FILE *out, sasl_conn_t *conn)
48b97a8
 
48b97a8
     /* send capability list to client */
48b97a8
     send_string(out, data, len);
48b97a8
+    if (mech)
48b97a8
+		free(data);
48b97a8
 
48b97a8
     dprintf(1, "waiting for client mechanism...\n");
48b97a8
     len = recv_string(in, chosenmech, sizeof chosenmech);