smb2_connect_share_async: don't return ENOMEM if connect fails
authorThomas Guillem <thomas@gllm.fr>
Thu, 24 Oct 2019 15:50:53 +0000 (17:50 +0200)
committerThomas Guillem <thomas@gllm.fr>
Fri, 25 Oct 2019 07:34:37 +0000 (09:34 +0200)
lib/libsmb2.c

index e3ff739fa3ef153743099f9a3e41012488cb6060..fb433c9d73e144f1ec9768617fe6253c62f84471 100644 (file)
@@ -888,6 +888,7 @@ smb2_connect_share_async(struct smb2_context *smb2,
                          smb2_command_cb cb, void *cb_data)
 {
         struct connect_data *c_data;
+        int err;
 
         if (smb2->server) {
                 free(discard_const(smb2->server));
@@ -950,9 +951,10 @@ smb2_connect_share_async(struct smb2_context *smb2,
         c_data->cb = cb;
         c_data->cb_data = cb_data;
 
-        if (smb2_connect_async(smb2, server, connect_cb, c_data) != 0) {
+        err = smb2_connect_async(smb2, server, connect_cb, c_data);
+        if (err != 0) {
                 free_c_data(smb2, c_data);
-                return -ENOMEM;
+                return err;
         }
 
         return 0;