From 6f42df1ed42331d115991bbb1937df15b160bdfc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Bollo?= Date: Tue, 1 Oct 2019 11:10:28 +0200 Subject: [PATCH] Improve detection of the bindings MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The symbol 'afbBindingV3root' may be defined in shared libraries that are not bindings. Using it to detect bindings v3 can lead to false detection and errors. Bug-AGL: SPEC-2841 Signed-off-by: José Bollo Change-Id: Ib2bc77d95e3306e7b4a883136ce27c92f8524a8d --- src/afb-api-so-v3.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/afb-api-so-v3.c b/src/afb-api-so-v3.c index 230a93fc..bef27e2e 100644 --- a/src/afb-api-so-v3.c +++ b/src/afb-api-so-v3.c @@ -75,16 +75,16 @@ int afb_api_so_v3_add(const char *path, void *handle, struct afb_apiset *declare struct afb_api_v3 *api; struct afb_export *export; - /* retrieves the register function */ - a.root = dlsym(handle, afb_api_so_v3_root); + /* retrieves important exported symbols */ a.desc = dlsym(handle, afb_api_so_v3_desc); a.entry = dlsym(handle, afb_api_so_v3_entry); - if (!a.root && !a.desc && !a.entry) + if (!a.desc && !a.entry) return 0; INFO("binding [%s] looks like an AFB binding V3", path); /* basic checks */ + a.root = dlsym(handle, afb_api_so_v3_root); if (!a.root) { ERROR("binding [%s] incomplete symbol set: %s is missing", path, afb_api_so_v3_root); -- 2.16.6