util_sock: Don't return a pointer to freed memory.
authorKai Blin <kai@samba.org>
Mon, 21 Jan 2008 17:01:55 +0000 (18:01 +0100)
committerKai Blin <kai@samba.org>
Mon, 21 Jan 2008 17:02:24 +0000 (18:02 +0100)
Fix a bug in my bugfix. Thanks to vl for spotting that one.

source/lib/util_sock.c

index f524d0d82623ce4d32704624c53bdd9827f078e1..a3975f6c1f2d5712d70fee5c33387bd0ebf56c6e 100644 (file)
@@ -2083,7 +2083,8 @@ const char *get_mydnsfullname(void)
        if (!memcache_lookup(NULL, SINGLETON_CACHE,
                        data_blob_string_const("get_mydnsfullname"),
                        &tmp)) {
-               tmp = data_blob_string_const(res->ai_canonname);
+               tmp = data_blob_talloc(talloc_tos(), res->ai_canonname,
+                               strlen(res->ai_canonname) + 1);
        }
 
        freeaddrinfo(res);