[Bug 3192] New: openssh-8.2 & openssl-1.1.1d error: dereferencing pointer to incomplete type Not found struct BIO , bio->num_write

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Tue Jul 14 13:39:51 AEST 2020


https://bugzilla.mindrot.org/show_bug.cgi?id=3192

            Bug ID: 3192
           Summary: openssh-8.2 & openssl-1.1.1d error: dereferencing
                    pointer to incomplete type Not found struct BIO ,
                    bio->num_write
           Product: Portable OpenSSH
           Version: 8.2p1
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P5
         Component: sshd
          Assignee: unassigned-bugs at mindrot.org
          Reporter: cunixc at gmail.com

build openssh-8.2
sshkey.c:4625:27: error: dereferencing pointer to incomplete type
BIO_read(bio, keybuf, bio->num_write);
bio->num_write //Not found struct BIO

cc -g -O0 -D_FORTIFY_SOURCE=2 -DDEBUG_KEXECDH  -fno-builtin-memset  
-I. -I. -I/build/store/ssl//include -I/build/store/ssl/include
-I/build/store/zlib/include -D_XOPEN_SOURCE=600 -D_BSD_SOURCE
-D_DEFAULT_SOURCE -DSSHDIR=\"/etc/ssh\"
-D_PATH_SSH_PROGRAM=\"/build/store/newssh/bin/ssh\"
-D_PATH_SSH_ASKPASS_DEFAULT=\"/build/store/newssh/libexec/ssh-askpass\"
-D_PATH_SFTP_SERVER=\"/build/store/newssh/libexec/sftp-server\"
-D_PATH_SSH_KEY_SIGN=\"/build/store/newssh/libexec/ssh-keysign\"
-D_PATH_SSH_PKCS11_HELPER=\"/build/store/newssh/libexec/ssh-pkcs11-helper\"
-D_PATH_SSH_SK_HELPER=\"/build/store/newssh/libexec/ssh-sk-helper\"
-D_PATH_SSH_PIDDIR=\"/run/\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\"
-DHAVE_CONFIG_H  -c sshkey.c -o sshkey.o

sshkey.c: In function ‘sshkey_parse_private_pem_fileblob’:
sshkey.c:4625:27: error: dereferencing pointer to incomplete type
  BIO_read(bio, keybuf, bio->num_write);

---

sshkey.c code view
#include <openssl/err.h>
#include <openssl/pem.h>
#include <openssl/ossl_typ.h>
....
static int
sshkey_parse_private_pem_fileblob(struct sshbuf *blob, int type,
    const char *passphrase, struct sshkey **keyp)
{
        EVP_PKEY *pk = NULL;
        struct sshkey *prv = NULL;
        BIO *bio = NULL;
        int r;

        if (keyp != NULL)
                *keyp = NULL;

        if ((bio = BIO_new(BIO_s_mem())) == NULL || sshbuf_len(blob) >
INT_MAX)
                return SSH_ERR_ALLOC_FAIL;
        if (BIO_write(bio, sshbuf_ptr(blob), sshbuf_len(blob)) !=
            (int)sshbuf_len(blob)) {
                r = SSH_ERR_ALLOC_FAIL;
                goto out;
        }

        char keybuf[T_L_4] = {0};
        BIO_read(bio, keybuf, bio->num_write);

-- 
You are receiving this mail because:
You are watching the assignee of the bug.


More information about the openssh-bugs mailing list