• Bug#1108958: unblock: openssl (6/16)

    From Sebastian Andrzej Siewior@21:1/5 to Paul Gevers on Sat Jul 12 19:20:02 2025
    [continued from previous message]

    +++ openssl-3.5.1/crypto/perlasm/x86_64-xlate.pl 2025-07-01 13:52:08.000000000 +0200
    @@ -218,6 +218,25 @@
    my $current_function;
    my %globals;

    +{ package vex_prefix; # pick up vex prefixes, example: {vex} vpmadd52luq m256, %ymm, %ymm
    + sub re {
    + my ($class, $line) = @_;
    + my $self = {};
    + my $ret;
    +
    + if ($$line =~ /(^\{vex\})/) {
    + bless $self,$class;
    + $self->{value} = $1;
    + $ret = $self;
    + $$line = substr($$line,@+[0]); $$line =~ s/^\s+//;
    + }
    + $ret;
    + }
    + sub out {
    + my $self = shift;
    + $self->{value};
    + }
    +}
    { package opcode; # pick up opcodes
    sub re {
    my ($class, $line) = @_;
    @@ -1396,7 +1415,11 @@

    if (my $directive=directive->re(\$line)) {
    printf "%s",$directive->out();
    - } elsif (my $opcode=opcode->re(\$line)) {
    + } else {
    + if (my $vex_prefix=vex_prefix->re(\$line)) {
    + printf "%s",$vex_prefix->out();
    + }
    + if (my $opcode=opcode->re(\$line)) {
    my $asm = eval("\$".$opcode->mnemonic());

    if ((ref($asm) eq 'CODE') && scalar(my @bytes=&$asm($line))) {
    @@ -1447,6 +1470,7 @@
    printf "\t%s",$opcode->out();
    }
    }
    + }

    print $line,"\n";
    }
    diff -Nru -w openssl-3.5.0/crypto/pkcs7/pk7_smime.c openssl-3.5.1/crypto/pkcs7/pk7_smime.c
    --- openssl-3.5.0/crypto/pkcs7/pk7_smime.c 2025-04-08 15:09:06.000000000 +0200
    +++ openssl-3.5.1/crypto/pkcs7/pk7_smime.c 2025-07-01 13:52:08.000000000 +0200
    @@ -1,5 +1,5 @@
    /*
    - * Copyright 1999-2024 The OpenSSL Project Authors. All Rights Reserved.
    + * Copyright 1999-2025 The OpenSSL Project Authors. All Rights Reserved.
    *
    * Licensed under the Apache License 2.0 (the "License"). You may not use
    * this file except in compliance with the License. You can obtain a copy
    @@ -333,10 +333,8 @@
    if (flags & PKCS7_TEXT) {
    if (!SMIME_text(tmpout, out)) {
    ERR_raise(ERR_LIB_PKCS7, PKCS7_R_SMIME_TEXT_ERROR);
    - BIO_free(tmpout);
    goto err;
    }
    - BIO_free(tmpout);
    }

    /* Now Verify All Signatures */
    @@ -354,6 +352,8 @@
    ret = 1;

    err:
    + if (flags & PKCS7_TEXT)
    + BIO_free(tmpout);
    X509_STORE_CTX_free(cert_ctx);
    OPENSSL_free(buf);
    if (indata != NULL)
    diff -Nru -w openssl-3.5.0/crypto/p