summaryrefslogtreecommitdiff
path: root/source3/smbd/conn.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/conn.c')
-rw-r--r--source3/smbd/conn.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/source3/smbd/conn.c b/source3/smbd/conn.c
index 28e1850b45..bc5a03b4eb 100644
--- a/source3/smbd/conn.c
+++ b/source3/smbd/conn.c
@@ -62,7 +62,9 @@ connection_struct *conn_new(struct smbd_server_connection *sconn)
connection_struct *conn;
if (!(conn=talloc_zero(NULL, connection_struct)) ||
- !(conn->params = talloc(conn, struct share_params))) {
+ !(conn->params = talloc(conn, struct share_params)) ||
+ !(conn->connectpath = talloc_strdup(conn, "")) ||
+ !(conn->origpath = talloc_strdup(conn, ""))) {
DEBUG(0,("TALLOC_ZERO() failed!\n"));
TALLOC_FREE(conn);
return NULL;
@@ -70,9 +72,6 @@ connection_struct *conn_new(struct smbd_server_connection *sconn)
conn->sconn = sconn;
conn->force_group_gid = (gid_t)-1;
- string_set(&conn->connectpath,"");
- string_set(&conn->origpath,"");
-
DLIST_ADD(sconn->connections, conn);
sconn->num_connections++;
@@ -171,9 +170,6 @@ static void conn_free_internal(connection_struct *conn)
free_namearray(conn->veto_oplock_list);
free_namearray(conn->aio_write_behind_list);
- string_free(&conn->connectpath);
- string_free(&conn->origpath);
-
ZERO_STRUCTP(conn);
talloc_destroy(conn);
}