From 3bc702ae6c66e4f84b7df4ecd7b12f08305a1513 Mon Sep 17 00:00:00 2001 From: Jaeyun Date: Thu, 2 May 2019 20:29:20 +0900 Subject: [PATCH] [Subplugin] handle error case update code to handle error case of invalid params. Signed-off-by: Jaeyun Jung --- gst/nnstreamer/nnstreamer_subplugin.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/gst/nnstreamer/nnstreamer_subplugin.c b/gst/nnstreamer/nnstreamer_subplugin.c index 2a4c3d9..51056d7 100644 --- a/gst/nnstreamer/nnstreamer_subplugin.c +++ b/gst/nnstreamer/nnstreamer_subplugin.c @@ -60,6 +60,8 @@ get_subplugin (subpluginType type, const char *name) subpluginData *data; void *handle; + g_return_val_if_fail (name, NULL); + G_LOCK (splock); if (subplugins[type] == NULL) @@ -115,9 +117,24 @@ gboolean register_subplugin (subpluginType type, const char *name, const void *data) { /** @todo data out of scope at add */ - subpluginData *spdata = g_new (subpluginData, 1); + subpluginData *spdata; gboolean ret; + g_return_val_if_fail (name, FALSE); + g_return_val_if_fail (data, FALSE); + + switch (type) { + case NNS_SUBPLUGIN_FILTER: + case NNS_SUBPLUGIN_DECODER: + break; + default: + /* unknown sub-plugin type */ + return FALSE; + } + + spdata = g_new (subpluginData, 1); + g_assert (spdata); + spdata->name = g_strdup (name); spdata->data = data; spdata->handle = NULL; @@ -139,8 +156,9 @@ gboolean unregister_subplugin (subpluginType type, const char *name) { gboolean ret; - if (subplugins[type] == NULL) - return FALSE; + + g_return_val_if_fail (name, FALSE); + g_return_val_if_fail (subplugins[type], FALSE); G_LOCK (splock); ret = g_hash_table_remove (subplugins[type], name); -- 2.7.4