about summary refs log tree commit diff
path: root/libnm-core/nm-json.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2018-04-23 18:01:04 +0200
committerMichael Biebl <biebl@debian.org>2018-04-23 18:01:04 +0200
commitd00e17d14b5df5f7fcba1a17f91edbb3180fbf64 (patch)
tree2b16542fff332a3c38fb2191f7ae4d4795f66451 /libnm-core/nm-json.c
parent2e03b565aa24225ca4992797a5d563542b0b2bdd (diff)
parentf60117b41d5433be1b4a96d82cd11d0c3dce9b63 (diff)
Update upstream source from tag 'upstream/1.11.3'
Update to upstream version '1.11.3'
with Debian dir a3a34e6c602cb81e76dc3c255c617e7f7ecfc11c
Diffstat (limited to 'libnm-core/nm-json.c')
-rw-r--r--libnm-core/nm-json.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libnm-core/nm-json.c b/libnm-core/nm-json.c
index f9042b1f..aa181a4a 100644
--- a/libnm-core/nm-json.c
+++ b/libnm-core/nm-json.c
@@ -44,7 +44,6 @@ void *_nm_jansson_json_true;
 void *_nm_jansson_json_object_size;
 void *_nm_jansson_json_object_set_new;
 void *_nm_jansson_json_object_iter;
-void *_nm_jansson_json_object_iter_at;
 void *_nm_jansson_json_integer_value;
 void *_nm_jansson_json_string_value;
 
@@ -80,7 +79,6 @@ bind_symbols (void *handle)
 	TRY_BIND_SYMBOL (json_object_size);
 	TRY_BIND_SYMBOL (json_object_set_new);
 	TRY_BIND_SYMBOL (json_object_iter);
-	TRY_BIND_SYMBOL (json_object_iter_at);
 	TRY_BIND_SYMBOL (json_integer_value);
 	TRY_BIND_SYMBOL (json_string_value);
 
@@ -96,6 +94,7 @@ nm_jansson_load (void)
 		MISSING,
 	} state = UNKNOWN;
 	void *handle;
+	int mode;
 
 	if (G_LIKELY (state != UNKNOWN))
 		goto out;
@@ -104,7 +103,13 @@ nm_jansson_load (void)
 	if (!bind_symbols (RTLD_DEFAULT))
 		goto out;
 
-	handle = dlopen (JANSSON_SONAME, RTLD_LAZY | RTLD_LOCAL | RTLD_NODELETE | RTLD_DEEPBIND);
+	mode = RTLD_LAZY | RTLD_LOCAL | RTLD_NODELETE | RTLD_DEEPBIND;
+#if defined (ASAN_BUILD)
+	/* Address sanitizer is incompatible with RTLD_DEEPBIND. */
+	mode &= ~RTLD_DEEPBIND;
+#endif
+	handle = dlopen (JANSSON_SONAME, mode);
+
 	if (!handle)
 		goto out;