exp->name == name is certainly true if both strings are equal and will
work for both of them being NULL (which is important to check here);
however, the strings may also be equal without having the same address,
in which case there is no need to replace the export's name either.
Therefore, add a check for this case.

Signed-off-by: Max Reitz <mre...@redhat.com>
---
 nbd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nbd.c b/nbd.c
index e5084b6..0787cba 100644
--- a/nbd.c
+++ b/nbd.c
@@ -832,7 +832,7 @@ NBDExport *nbd_export_find(const char *name)
 
 void nbd_export_set_name(NBDExport *exp, const char *name)
 {
-    if (exp->name == name) {
+    if (exp->name == name || (exp->name && name && !strcmp(exp->name, name))) {
         return;
     }
 
-- 
1.9.3


Reply via email to