Date: Thu, 7 Apr 2005 07:53:12 -0500 From: Jacques Vidrine <nectar@FreeBSD.org> To: Stefan Farfeleder <stefanf@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/libexec/rexecd rexecd.c Message-ID: <b92129f30074e2c42484286f24e15b6c@FreeBSD.org> In-Reply-To: <20050407084309.GF644@wombat.fafoe.narf.at> References: <200504051455.j35EtXfw046906@repoman.freebsd.org> <20050407084309.GF644@wombat.fafoe.narf.at>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 7, 2005, at 3:43 AM, Stefan Farfeleder wrote: > static void > doit(struct sockaddr *fromp) > { > char *cmdbuf, *cp; > int maxcmdlen; > char user[16], pass[16]; > > ... > > if (!pam_ok(pam_start("rexecd", user, &pamc, &pamh)) || > !pam_ok(pam_set_item(pamh, PAM_RHOST, remote)) || > !pam_ok(pam_set_item(pamh, PAM_AUTHTOK, pass)) || > !pam_ok(pam_authenticate(pamh, pam_flags)) || > !pam_ok(pam_acct_mgmt(pamh, pam_flags)) || > !pam_ok(pam_get_item(pamh, PAM_USER, (const void > **)&user)) || > > I don't know anything about PAM, but apparently pam_get_item() stores > a pointer > into *item. Here the pointer value is written into the first few > bytes of the > array `user' (assuming it is correctly aligned). Which it isn't... see my post to -CURRENT. Oops. -- Jacques A Vidrine / NTT/Verio nectar@celabo.org / jvidrine@verio.net / nectar@freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b92129f30074e2c42484286f24e15b6c>