s4:libnet - add missing "talloc_free"s for "c" contexts on "recv" operations
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Sun, 4 Jul 2010 18:04:28 +0000 (20:04 +0200)
committerMatthias Dieter Wallnöfer <mdw@samba.org>
Sun, 4 Jul 2010 20:05:17 +0000 (22:05 +0200)
source4/libnet/libnet_group.c
source4/libnet/libnet_lookup.c
source4/libnet/libnet_user.c

index f0986675556868857ef69a8e461890e8f3fd9444..8c88aa38bb351f79245eaed54a5a5b3a303a6e36 100644 (file)
@@ -147,6 +147,7 @@ NTSTATUS libnet_CreateGroup_recv(struct composite_context *c,
                r->out.error_string = talloc_strdup(mem_ctx, nt_errstr(status));
        }
 
+       talloc_free(c);
        return status;
 }
 
@@ -408,7 +409,6 @@ NTSTATUS libnet_GroupInfo_recv(struct composite_context* c, TALLOC_CTX *mem_ctx,
        }
 
        talloc_free(c);
-
        return status;
 }
 
@@ -731,6 +731,7 @@ NTSTATUS libnet_GroupList_recv(struct composite_context *c, TALLOC_CTX *mem_ctx,
                io->out.error_string = talloc_asprintf(mem_ctx, "Error: %s", nt_errstr(status));
        }
 
+       talloc_free(c);
        return status;
 }
 
index 21851d5ae89ef7616160ad2ea7714a1e3d16199d..177292c7cd066dd998f74540c4132e48fb85f18f 100644 (file)
@@ -217,9 +217,7 @@ NTSTATUS libnet_LookupDCs_recv(struct composite_context *c, TALLOC_CTX *mem_ctx,
 {
        NTSTATUS status;
        status = finddcs_recv(c, mem_ctx, &io->out.num_dcs, &io->out.dcs);
-       if (!NT_STATUS_IS_OK(status)) {
-               return status;
-       }
+       /* "c" already freed here */
        return status;
 }
 
index f05d2bd566fb92f3fd011baa708fb1204cc4de18..0055639974ee4a4c12ec39fea40912f6a911e8e1 100644 (file)
@@ -178,6 +178,7 @@ NTSTATUS libnet_CreateUser_recv(struct composite_context *c, TALLOC_CTX *mem_ctx
                r->out.error_string = talloc_strdup(mem_ctx, nt_errstr(status));
        }
 
+       talloc_free(c);
        return status;
 }
 
@@ -346,6 +347,7 @@ NTSTATUS libnet_DeleteUser_recv(struct composite_context *c, TALLOC_CTX *mem_ctx
                r->out.error_string = talloc_steal(mem_ctx, s->r.out.error_string);
        }
        
+       talloc_free(c);
        return status;
 }
 
@@ -572,6 +574,8 @@ NTSTATUS libnet_ModifyUser_recv(struct composite_context *c, TALLOC_CTX *mem_ctx
                                struct libnet_ModifyUser *r)
 {
        NTSTATUS status = composite_wait(c);
+
+       talloc_free(c);
        return status;
 }
 
@@ -868,7 +872,6 @@ NTSTATUS libnet_UserInfo_recv(struct composite_context *c, TALLOC_CTX *mem_ctx,
        }
 
        talloc_free(c);
-       
        return status;
 }
 
@@ -1195,6 +1198,7 @@ NTSTATUS libnet_UserList_recv(struct composite_context* c, TALLOC_CTX *mem_ctx,
                r->out.error_string = talloc_asprintf(mem_ctx, "Error: %s", nt_errstr(status));
        }
 
+       talloc_free(c);
        return status;
 }