From f6fe7c39cdaeb9b415c36f7ae9a8baf45dddc5b0 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 4 Feb 2020 17:18:41 +0200 Subject: libsmb: Add smb2_create_blob_remove() Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison --- libcli/smb/smb2_create_blob.c | 15 +++++++++++++++ libcli/smb/smb2_create_blob.h | 2 ++ 2 files changed, 17 insertions(+) (limited to 'libcli') diff --git a/libcli/smb/smb2_create_blob.c b/libcli/smb/smb2_create_blob.c index 57c7a9d1150..ecd61e0c9b2 100644 --- a/libcli/smb/smb2_create_blob.c +++ b/libcli/smb/smb2_create_blob.c @@ -225,3 +225,18 @@ struct smb2_create_blob *smb2_create_blob_find(const struct smb2_create_blobs *b return NULL; } + +void smb2_create_blob_remove(struct smb2_create_blobs *b, const char *tag) +{ + struct smb2_create_blob *blob = smb2_create_blob_find(b, tag); + + if (blob == NULL) { + return; + } + + TALLOC_FREE(blob->tag); + data_blob_free(&blob->data); + + *blob = b->blobs[b->num_blobs-1]; + b->num_blobs -= 1; +} diff --git a/libcli/smb/smb2_create_blob.h b/libcli/smb/smb2_create_blob.h index 000fd7469fa..f41e77edc3d 100644 --- a/libcli/smb/smb2_create_blob.h +++ b/libcli/smb/smb2_create_blob.h @@ -71,4 +71,6 @@ NTSTATUS smb2_create_blob_add(TALLOC_CTX *mem_ctx, struct smb2_create_blobs *b, struct smb2_create_blob *smb2_create_blob_find(const struct smb2_create_blobs *b, const char *tag); +void smb2_create_blob_remove(struct smb2_create_blobs *b, const char *tag); + #endif /* _LIBCLI_SMB_SMB2_CREATE_BLOB_H_ */ -- cgit v1.2.1