- [email protected] 2001/05/12 19:53:13
[sftp-server.c]
readlink does not NULL-terminate; [email protected]
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
20010517
|
||||
- OpenBSD CVS Sync
|
||||
- [email protected] 2001/05/12 19:53:13
|
||||
[sftp-server.c]
|
||||
readlink does not NULL-terminate; [email protected]
|
||||
|
||||
20010512
|
||||
- OpenBSD CVS Sync
|
||||
- [email protected] 2001/05/11 14:59:56
|
||||
@@ -5402,4 +5408,4 @@
|
||||
- Wrote replacements for strlcpy and mkdtemp
|
||||
- Released 1.0pre1
|
||||
|
||||
$Id: ChangeLog,v 1.1218 2001/05/12 16:50:50 mouring Exp $
|
||||
$Id: ChangeLog,v 1.1219 2001/05/17 03:14:57 mouring Exp $
|
||||
|
||||
+4
-3
@@ -22,7 +22,7 @@
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#include "includes.h"
|
||||
RCSID("$OpenBSD: sftp-server.c,v 1.25 2001/04/05 10:42:53 markus Exp $");
|
||||
RCSID("$OpenBSD: sftp-server.c,v 1.26 2001/05/12 19:53:13 markus Exp $");
|
||||
|
||||
#include "buffer.h"
|
||||
#include "bufaux.h"
|
||||
@@ -883,18 +883,19 @@ void
|
||||
process_readlink(void)
|
||||
{
|
||||
u_int32_t id;
|
||||
int len;
|
||||
char link[MAXPATHLEN];
|
||||
char *path;
|
||||
|
||||
id = get_int();
|
||||
path = get_string(NULL);
|
||||
TRACE("readlink id %d path %s", id, path);
|
||||
if (readlink(path, link, sizeof(link) - 1) == -1)
|
||||
if ((len = readlink(path, link, sizeof(link) - 1)) == -1)
|
||||
send_status(id, errno_to_portable(errno));
|
||||
else {
|
||||
Stat s;
|
||||
|
||||
link[sizeof(link) - 1] = '\0';
|
||||
link[len] = '\0';
|
||||
attrib_clear(&s.attrib);
|
||||
s.name = s.long_name = link;
|
||||
send_names(id, 1, &s);
|
||||
|
||||
Reference in New Issue
Block a user