- ray@cvs.openbsd.org 2006/11/23 01:35:11

[misc.c sftp.c]
     Don't access buf[strlen(buf) - 1] for zero-length strings.
     ``ok by me'' djm@.
This commit is contained in:
Damien Miller 2007-01-05 16:24:47 +11:00
parent df8b7db16e
commit 3ca8b77179
3 changed files with 11 additions and 5 deletions

View File

@ -3,6 +3,10 @@
- deraadt@cvs.openbsd.org 2006/11/14 19:41:04 - deraadt@cvs.openbsd.org 2006/11/14 19:41:04
[ssh-keygen.c] [ssh-keygen.c]
use argc and argv not some made up short form use argc and argv not some made up short form
- ray@cvs.openbsd.org 2006/11/23 01:35:11
[misc.c sftp.c]
Don't access buf[strlen(buf) - 1] for zero-length strings.
``ok by me'' djm@.
20061205 20061205
- (djm) [auth.c] Fix NULL pointer dereference in fakepw(). Crash would - (djm) [auth.c] Fix NULL pointer dereference in fakepw(). Crash would
@ -2623,4 +2627,4 @@
OpenServer 6 and add osr5bigcrypt support so when someone migrates OpenServer 6 and add osr5bigcrypt support so when someone migrates
passwords between UnixWare and OpenServer they will still work. OK dtucker@ passwords between UnixWare and OpenServer they will still work. OK dtucker@
$Id: ChangeLog,v 1.4592 2007/01/05 05:22:57 djm Exp $ $Id: ChangeLog,v 1.4593 2007/01/05 05:24:47 djm Exp $

4
misc.c
View File

@ -1,4 +1,4 @@
/* $OpenBSD: misc.c,v 1.64 2006/08/03 03:34:42 deraadt Exp $ */ /* $OpenBSD: misc.c,v 1.65 2006/11/23 01:35:11 ray Exp $ */
/* /*
* Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2000 Markus Friedl. All rights reserved.
* Copyright (c) 2005,2006 Damien Miller. All rights reserved. * Copyright (c) 2005,2006 Damien Miller. All rights reserved.
@ -616,6 +616,8 @@ read_keyfile_line(FILE *f, const char *filename, char *buf, size_t bufsz,
u_long *lineno) u_long *lineno)
{ {
while (fgets(buf, bufsz, f) != NULL) { while (fgets(buf, bufsz, f) != NULL) {
if (buf[0] == '\0')
continue;
(*lineno)++; (*lineno)++;
if (buf[strlen(buf) - 1] == '\n' || feof(f)) { if (buf[strlen(buf) - 1] == '\n' || feof(f)) {
return 0; return 0;

6
sftp.c
View File

@ -1,4 +1,4 @@
/* $OpenBSD: sftp.c,v 1.93 2006/09/30 17:48:22 ray Exp $ */ /* $OpenBSD: sftp.c,v 1.94 2006/11/23 01:35:11 ray Exp $ */
/* /*
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
* *
@ -298,11 +298,11 @@ static char *
path_append(char *p1, char *p2) path_append(char *p1, char *p2)
{ {
char *ret; char *ret;
int len = strlen(p1) + strlen(p2) + 2; size_t len = strlen(p1) + strlen(p2) + 2;
ret = xmalloc(len); ret = xmalloc(len);
strlcpy(ret, p1, len); strlcpy(ret, p1, len);
if (p1[strlen(p1) - 1] != '/') if (p1[0] != '\0' && p1[strlen(p1) - 1] != '/')
strlcat(ret, "/", len); strlcat(ret, "/", len);
strlcat(ret, p2, len); strlcat(ret, p2, len);