libsmb: fix leak in opendir error path
[bbaumbach/samba-autobuild/.git] / source3 / libsmb / libsmb_dir.c
index dd37a247d27f7f61303e7364d79fa09cbbc0135b..8bf3c6b8efc25d688c8de54c67ad348bd83010e2 100644 (file)
@@ -485,6 +485,12 @@ SMBC_opendir_ctx(SMBCCTX *context,
 
                u_info = user_auth_info_init(frame);
                if (u_info == NULL) {
+                       if (dir) {
+                               SAFE_FREE(dir->fname);
+                               SAFE_FREE(dir);
+                       }
+                       TALLOC_FREE(frame);
+                       errno = ENOMEM;
                        return NULL;
                }
                set_cmdline_auth_info_username(u_info, user);