Skip to content

Commit 7dd365e

Browse files
committed
Fix wrong re-initialisation of BSON objects
1 parent 5655aa8 commit 7dd365e

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

src/libmongoc/src/mongoc/mongoc-topology-scanner.c

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,22 @@ _add_ismaster (bson_t *cmd, const mongoc_server_api_t *api)
114114
}
115115

116116
static void
117-
_reset_ismaster (mongoc_topology_scanner_t *ts)
117+
_init_ismaster (mongoc_topology_scanner_t *ts)
118118
{
119119
bson_init (&ts->ismaster_cmd);
120-
_add_ismaster (&ts->ismaster_cmd, ts->api);
121120
bson_init (&ts->ismaster_cmd_with_handshake);
122121
bson_init (&ts->cluster_time);
122+
123+
_add_ismaster (&ts->ismaster_cmd, ts->api);
124+
}
125+
126+
static void
127+
_reset_ismaster (mongoc_topology_scanner_t *ts)
128+
{
129+
bson_reinit (&ts->ismaster_cmd);
130+
bson_reinit (&ts->ismaster_cmd_with_handshake);
131+
132+
_add_ismaster (&ts->ismaster_cmd, ts->api);
123133
}
124134

125135
const char *
@@ -370,7 +380,7 @@ mongoc_topology_scanner_new (
370380
/* may be overridden for testing. */
371381
ts->dns_cache_timeout_ms = DNS_CACHE_TIMEOUT_MS;
372382

373-
_reset_ismaster (ts);
383+
_init_ismaster (ts);
374384

375385
return ts;
376386
}

0 commit comments

Comments
 (0)