Mailing List Archive

[Bug 3192] New: openssh-8.2 & openssl-1.1.1d error: dereferencing pointer to incomplete type Not found struct BIO , bio->num_write
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@mindrot.org
Reporter: cunixc@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.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs