浏览代码

smb_share: Create the message before other initializations

So that we don't leak on error.
fix cid #65531

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Hugo Beauzée-Luyssen 9 年之前
父节点
当前提交
1ca1441613
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      src/smb_share.c

+ 4 - 4
src/smb_share.c

@@ -54,16 +54,16 @@ smb_tid         smb_tree_connect(smb_session *s, const char *name)
 
     assert(s != NULL && name != NULL);
 
+    req_msg = smb_message_new(SMB_CMD_TREE_CONNECT);
+    if (!req_msg)
+        return -1;
+
     // Build \\SERVER\Share path from name
     path_len  = strlen(name) + strlen(s->srv.name) + 4;
     path      = alloca(path_len);
     snprintf(path, path_len, "\\\\%s\\%s", s->srv.name, name);
     utf_path_len = smb_to_utf16(path, strlen(path) + 1, &utf_path);
 
-    req_msg = smb_message_new(SMB_CMD_TREE_CONNECT);
-    if (!req_msg)
-        return -1;
-
     // Packet headers
     req_msg->packet->header.tid   = 0xffff; // Behavior of libsmbclient