r17792: io.out.winsserver is a const char *,
[ira/wip.git] / source4 / nbt_server / wins / winsclient.c
index bfaf1edbdeaf241e681a22b23fcc053033d5a44e..458d1a434dc9a5741723e83a14ce20f90cfbee75 100644 (file)
@@ -111,7 +111,11 @@ static void nbtd_wins_refresh_handler(struct composite_context *c)
        /* success - start a periodic name refresh */
        iname->nb_flags |= NBT_NM_ACTIVE;
        if (iname->wins_server) {
-               talloc_free(iname->wins_server);
+               /*
+                * talloc_free() would generate a warning,
+                * so steal it into the tmp context
+                */
+               talloc_steal(tmp_ctx, iname->wins_server);
        }
        iname->wins_server = talloc_steal(iname, io.out.wins_server);
 
@@ -204,7 +208,11 @@ static void nbtd_wins_register_handler(struct composite_context *c)
        /* success - start a periodic name refresh */
        iname->nb_flags |= NBT_NM_ACTIVE;
        if (iname->wins_server) {
-               talloc_free(iname->wins_server);
+               /*
+                * talloc_free() would generate a warning,
+                * so steal it into the tmp context
+                */
+               talloc_steal(tmp_ctx, iname->wins_server);
        }
        iname->wins_server = talloc_steal(iname, io.out.wins_server);