BUG/MEDIUM: unix: do not unlink() abstract namespace sockets upon failure.

When bind() fails (function uxst_bind_listener()), the fail path doesn't
consider the abstract namespace and tries to unlink paths held in
uninitiliazed memory (tempname and backname). See the strace excerpt;
the strings still hold the path from test1.

===============================================================================================
23722 bind(5, {sa_family=AF_FILE, path=@"test2"}, 110) = -1 EADDRINUSE (Address already in use)
23722 unlink("/tmp/test1.sock.23722.tmp") = -1 ENOENT (No such file or directory)
23722 close(5)                          = 0
23722 unlink("/tmp/test1.sock.23722.bak") = -1 ENOENT (No such file or directory)
===============================================================================================

This patch should be backported to 1.5.
diff --git a/src/proto_uxst.c b/src/proto_uxst.c
index f83d34e..c9a52ff 100644
--- a/src/proto_uxst.c
+++ b/src/proto_uxst.c
@@ -309,11 +309,11 @@
 	if (ret < 0 && errno == ENOENT)
 		unlink(path);
  err_unlink_temp:
-	if (!ext)
+	if (!ext && path[0])
 		unlink(tempname);
 	close(fd);
  err_unlink_back:
-	if (!ext)
+	if (!ext && path[0])
 		unlink(backname);
  err_return:
 	if (msg && errlen) {