mirror of
https://github.com/samba-team/samba.git
synced 2025-02-01 05:47:28 +03:00
lib: Use asn1_extract_blob()
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
parent
7b7aa016df
commit
a93946b2fe
@ -357,11 +357,12 @@ ssize_t spnego_write_data(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, struct spnego_da
|
||||
break;
|
||||
}
|
||||
|
||||
if (!asn1_has_error(asn1)) {
|
||||
*blob = data_blob_talloc(mem_ctx, asn1->data, asn1->length);
|
||||
ret = asn1->ofs;
|
||||
if (!asn1_extract_blob(asn1, mem_ctx, blob)) {
|
||||
goto err;
|
||||
}
|
||||
|
||||
ret = asn1->ofs;
|
||||
|
||||
err:
|
||||
|
||||
asn1_free(asn1);
|
||||
@ -427,8 +428,7 @@ bool spnego_write_mech_types(TALLOC_CTX *mem_ctx,
|
||||
goto err;
|
||||
}
|
||||
|
||||
*blob = data_blob_talloc(mem_ctx, asn1->data, asn1->length);
|
||||
if (blob->length != asn1->length) {
|
||||
if (!asn1_extract_blob(asn1, mem_ctx, blob)) {
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -691,7 +691,10 @@ _PUBLIC_ bool ldap_encode(struct ldap_message *msg,
|
||||
|
||||
if (!asn1_pop_tag(data)) goto err;
|
||||
|
||||
*result = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (!asn1_extract_blob(data, mem_ctx, result)) {
|
||||
goto err;
|
||||
}
|
||||
|
||||
asn1_free(data);
|
||||
|
||||
return true;
|
||||
|
@ -79,7 +79,9 @@ DATA_BLOB spnego_gen_negTokenInit(TALLOC_CTX *ctx,
|
||||
|
||||
if (!asn1_pop_tag(data)) goto err;
|
||||
|
||||
ret = data_blob_talloc(ctx, data->data, data->length);
|
||||
if (!asn1_extract_blob(data, ctx, &ret)) {
|
||||
goto err;
|
||||
}
|
||||
|
||||
err:
|
||||
|
||||
@ -250,7 +252,9 @@ DATA_BLOB spnego_gen_krb5_wrap(TALLOC_CTX *ctx, const DATA_BLOB ticket, const ui
|
||||
if (!asn1_write(data, ticket.data, ticket.length)) goto err;
|
||||
if (!asn1_pop_tag(data)) goto err;
|
||||
|
||||
ret = data_blob_talloc(ctx, data->data, data->length);
|
||||
if (!asn1_extract_blob(data, ctx, &ret)) {
|
||||
goto err;
|
||||
}
|
||||
|
||||
err:
|
||||
|
||||
@ -377,7 +381,9 @@ DATA_BLOB spnego_gen_auth(TALLOC_CTX *ctx, DATA_BLOB blob)
|
||||
if (!asn1_pop_tag(data)) goto err;
|
||||
if (!asn1_pop_tag(data)) goto err;
|
||||
|
||||
ret = data_blob_talloc(ctx, data->data, data->length);
|
||||
if (!asn1_extract_blob(data, ctx, &ret)) {
|
||||
goto err;
|
||||
}
|
||||
|
||||
err:
|
||||
|
||||
|
@ -422,7 +422,9 @@ static DATA_BLOB gensec_gssapi_gen_krb5_wrap(TALLOC_CTX *mem_ctx, const DATA_BLO
|
||||
if (!asn1_pop_tag(data)) goto err;
|
||||
|
||||
|
||||
ret = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (!asn1_extract_blob(data, mem_ctx, &ret)) {
|
||||
goto err;
|
||||
}
|
||||
asn1_free(data);
|
||||
|
||||
return ret;
|
||||
|
@ -512,10 +512,10 @@ static bool encode_verify_name_request(void *mem_ctx, void *in, DATA_BLOB *out)
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -716,10 +716,10 @@ static bool encode_server_sort_response(void *mem_ctx, void *in, DATA_BLOB *out)
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -774,10 +774,10 @@ static bool encode_server_sort_request(void *mem_ctx, void *in, DATA_BLOB *out)
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -809,10 +809,10 @@ static bool encode_extended_dn_request(void *mem_ctx, void *in, DATA_BLOB *out)
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -837,10 +837,10 @@ static bool encode_sd_flags_request(void *mem_ctx, void *in, DATA_BLOB *out)
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -865,10 +865,10 @@ static bool encode_search_options_request(void *mem_ctx, void *in, DATA_BLOB *ou
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -897,10 +897,10 @@ static bool encode_paged_results_request(void *mem_ctx, void *in, DATA_BLOB *out
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -935,10 +935,10 @@ static bool encode_asq_control(void *mem_ctx, void *in, DATA_BLOB *out)
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -971,10 +971,10 @@ static bool encode_dirsync_request(void *mem_ctx, void *in, DATA_BLOB *out)
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -1047,10 +1047,10 @@ static bool encode_vlv_request(void *mem_ctx, void *in, DATA_BLOB *out)
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -1089,10 +1089,10 @@ static bool encode_vlv_response(void *mem_ctx, void *in, DATA_BLOB *out)
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
|
||||
return true;
|
||||
@ -1140,10 +1140,10 @@ static bool encode_openldap_dereference(void *mem_ctx, void *in, DATA_BLOB *out)
|
||||
return false;
|
||||
}
|
||||
|
||||
*out = data_blob_talloc(mem_ctx, data->data, data->length);
|
||||
if (out->data == NULL) {
|
||||
if (!asn1_extract_blob(data, mem_ctx, out)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(data);
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user