From: Joseph Sutton Date: Tue, 5 Sep 2023 00:55:04 +0000 (+1200) Subject: s4:kdc: Make pac_blobs_remove_blob() never fail X-Git-Tag: tevent-0.16.0~586 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a5308a2d904ffb3b0abba36cf8a9b40382c6e14b;p=thirdparty%2Fsamba.git s4:kdc: Make pac_blobs_remove_blob() never fail Signed-off-by: Joseph Sutton Reviewed-by: Andrew Bartlett --- diff --git a/source4/kdc/pac-blobs.c b/source4/kdc/pac-blobs.c index 627a527c785..9cf79e7dc2a 100644 --- a/source4/kdc/pac-blobs.c +++ b/source4/kdc/pac-blobs.c @@ -200,8 +200,8 @@ krb5_error_code pac_blobs_add_blob(struct pac_blobs *pac_blobs, return 0; } -krb5_error_code pac_blobs_remove_blob(struct pac_blobs *pac_blobs, - const uint32_t type) +void pac_blobs_remove_blob(struct pac_blobs *pac_blobs, + const uint32_t type) { struct type_data *type_blobs = NULL; size_t found_index; @@ -211,7 +211,7 @@ krb5_error_code pac_blobs_remove_blob(struct pac_blobs *pac_blobs, found_index = *pac_blobs_get_index(pac_blobs, type); if (found_index == SIZE_MAX) { /* We don't have a PAC buffer of this type, so we're done. */ - return 0; + return; } /* Since the PAC buffer is present, there will be at least one type in the array. */ @@ -247,12 +247,7 @@ krb5_error_code pac_blobs_remove_blob(struct pac_blobs *pac_blobs, pac_blobs->type_blobs, struct type_data, --pac_blobs->num_types); - if (type_blobs == NULL) { - DBG_ERR("Out of memory\n"); - return ENOMEM; + if (type_blobs != NULL) { + pac_blobs->type_blobs = type_blobs; } - - pac_blobs->type_blobs = type_blobs; - - return 0; } diff --git a/source4/kdc/pac-blobs.h b/source4/kdc/pac-blobs.h index ca3dcf9280d..0c5f034df6e 100644 --- a/source4/kdc/pac-blobs.h +++ b/source4/kdc/pac-blobs.h @@ -79,5 +79,5 @@ krb5_error_code pac_blobs_add_blob(struct pac_blobs *pac_blobs, const uint32_t type, const DATA_BLOB *blob); -krb5_error_code pac_blobs_remove_blob(struct pac_blobs *pac_blobs, - const uint32_t type); +void pac_blobs_remove_blob(struct pac_blobs *pac_blobs, + const uint32_t type); diff --git a/source4/kdc/pac-glue.c b/source4/kdc/pac-glue.c index 3aafcd5aafe..978d1ad90a4 100644 --- a/source4/kdc/pac-glue.c +++ b/source4/kdc/pac-glue.c @@ -2721,19 +2721,13 @@ krb5_error_code samba_kdc_update_pac(TALLOC_CTX *mem_ctx, } if (!client_pac_is_trusted || !is_tgs) { - code = pac_blobs_remove_blob(pac_blobs, - PAC_TYPE_ATTRIBUTES_INFO); - if (code != 0) { - goto done; - } + pac_blobs_remove_blob(pac_blobs, + PAC_TYPE_ATTRIBUTES_INFO); } if (!is_tgs) { - code = pac_blobs_remove_blob(pac_blobs, - PAC_TYPE_REQUESTER_SID); - if (code != 0) { - goto done; - } + pac_blobs_remove_blob(pac_blobs, + PAC_TYPE_REQUESTER_SID); } else { code = pac_blobs_add_blob(pac_blobs, PAC_TYPE_REQUESTER_SID,