mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-20 21:49:28 +00:00
feat(real-world-vfc-slice): add labeled OpenSSL/Firefox/Chromium/curl pair corpus
Harvest 176 isolated vuln-vs-fix functions (109 CVEs, 352 training rows) into benchmarks/pairs/vfc with provenance and a JSONL training manifest. Score the slice as an honesty dashboard (ousast pairs --slice vfc); keep the pair gate on the local fixtures only.
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
/* Provenance: openssl/openssl DTLS_RECORD_LAYER_clear (fixed).
|
||||
* repo: openssl/openssl
|
||||
* commit: 1ca5a124b48f1ffe6980ad33724b452fbd62da1e
|
||||
* parent: a0c8ec557d9cac078f032d76cdf684fe743eb382
|
||||
* commit_url: https://github.com/openssl/openssl/commit/1ca5a124b48f1ffe6980ad33724b452fbd62da1e
|
||||
* cve: CVE-2026-54874
|
||||
* license: Apache-2.0
|
||||
* function: DTLS_RECORD_LAYER_clear
|
||||
* relpath: ssl/record/rec_layer_d1.c
|
||||
*/
|
||||
|
||||
void DTLS_RECORD_LAYER_clear(RECORD_LAYER *rl)
|
||||
{
|
||||
DTLS_RECORD_LAYER *d;
|
||||
pitem *item = NULL;
|
||||
DTLS1_RECORD_DATA *rdata;
|
||||
pqueue *unprocessed_rcds;
|
||||
pqueue *processed_rcds;
|
||||
pqueue *buffered_app_data;
|
||||
|
||||
d = rl->d;
|
||||
|
||||
while ((item = pqueue_pop(d->unprocessed_rcds.q)) != NULL) {
|
||||
rdata = (DTLS1_RECORD_DATA *)item->data;
|
||||
OPENSSL_free(rdata->packet);
|
||||
OPENSSL_free(item->data);
|
||||
pitem_free(item);
|
||||
}
|
||||
|
||||
while ((item = pqueue_pop(d->processed_rcds.q)) != NULL) {
|
||||
rdata = (DTLS1_RECORD_DATA *)item->data;
|
||||
if (rl->s->options & SSL_OP_CLEANSE_PLAINTEXT)
|
||||
OPENSSL_cleanse(rdata->packet, rdata->packet_length);
|
||||
OPENSSL_free(rdata->packet);
|
||||
OPENSSL_free(item->data);
|
||||
pitem_free(item);
|
||||
}
|
||||
|
||||
while ((item = pqueue_pop(d->buffered_app_data.q)) != NULL) {
|
||||
rdata = (DTLS1_RECORD_DATA *)item->data;
|
||||
if (rl->s->options & SSL_OP_CLEANSE_PLAINTEXT)
|
||||
OPENSSL_cleanse(rdata->packet, rdata->packet_length);
|
||||
OPENSSL_free(rdata->packet);
|
||||
OPENSSL_free(item->data);
|
||||
pitem_free(item);
|
||||
}
|
||||
|
||||
unprocessed_rcds = d->unprocessed_rcds.q;
|
||||
processed_rcds = d->processed_rcds.q;
|
||||
buffered_app_data = d->buffered_app_data.q;
|
||||
memset(d, 0, sizeof(*d));
|
||||
d->unprocessed_rcds.q = unprocessed_rcds;
|
||||
d->processed_rcds.q = processed_rcds;
|
||||
d->buffered_app_data.q = buffered_app_data;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
/* Provenance: openssl/openssl DTLS_RECORD_LAYER_clear (vuln).
|
||||
* repo: openssl/openssl
|
||||
* commit: a0c8ec557d9cac078f032d76cdf684fe743eb382
|
||||
* parent: a0c8ec557d9cac078f032d76cdf684fe743eb382
|
||||
* commit_url: https://github.com/openssl/openssl/commit/1ca5a124b48f1ffe6980ad33724b452fbd62da1e
|
||||
* cve: CVE-2026-54874
|
||||
* license: Apache-2.0
|
||||
* function: DTLS_RECORD_LAYER_clear
|
||||
* relpath: ssl/record/rec_layer_d1.c
|
||||
*/
|
||||
|
||||
void DTLS_RECORD_LAYER_clear(RECORD_LAYER *rl)
|
||||
{
|
||||
DTLS_RECORD_LAYER *d;
|
||||
pitem *item = NULL;
|
||||
DTLS1_RECORD_DATA *rdata;
|
||||
pqueue *unprocessed_rcds;
|
||||
pqueue *processed_rcds;
|
||||
pqueue *buffered_app_data;
|
||||
|
||||
d = rl->d;
|
||||
|
||||
while ((item = pqueue_pop(d->unprocessed_rcds.q)) != NULL) {
|
||||
rdata = (DTLS1_RECORD_DATA *)item->data;
|
||||
OPENSSL_free(rdata->rbuf.buf);
|
||||
OPENSSL_free(item->data);
|
||||
pitem_free(item);
|
||||
}
|
||||
|
||||
while ((item = pqueue_pop(d->processed_rcds.q)) != NULL) {
|
||||
rdata = (DTLS1_RECORD_DATA *)item->data;
|
||||
if (rl->s->options & SSL_OP_CLEANSE_PLAINTEXT)
|
||||
OPENSSL_cleanse(rdata->rbuf.buf, rdata->rbuf.len);
|
||||
OPENSSL_free(rdata->rbuf.buf);
|
||||
OPENSSL_free(item->data);
|
||||
pitem_free(item);
|
||||
}
|
||||
|
||||
while ((item = pqueue_pop(d->buffered_app_data.q)) != NULL) {
|
||||
rdata = (DTLS1_RECORD_DATA *)item->data;
|
||||
if (rl->s->options & SSL_OP_CLEANSE_PLAINTEXT)
|
||||
OPENSSL_cleanse(rdata->rbuf.buf, rdata->rbuf.len);
|
||||
OPENSSL_free(rdata->rbuf.buf);
|
||||
OPENSSL_free(item->data);
|
||||
pitem_free(item);
|
||||
}
|
||||
|
||||
unprocessed_rcds = d->unprocessed_rcds.q;
|
||||
processed_rcds = d->processed_rcds.q;
|
||||
buffered_app_data = d->buffered_app_data.q;
|
||||
memset(d, 0, sizeof(*d));
|
||||
d->unprocessed_rcds.q = unprocessed_rcds;
|
||||
d->processed_rcds.q = processed_rcds;
|
||||
d->buffered_app_data.q = buffered_app_data;
|
||||
}
|
||||
Reference in New Issue
Block a user