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-06-04 00:07:45 +0200
committerMichael Biebl <biebl@debian.org>2018-06-04 00:07:45 +0200
commit04bc9e1cd3544445d883ad29ea108c1645c8e7b7 (patch)
treed10c354b1b980ca8a7b9e48ec9019e8ed88bde2b /libnm-core/nm-json.c
parentee9c73a923909e23a649407be77e25235d769e25 (diff)
New upstream version 1.11.4 upstream/1.11.4
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;