summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2006-03-26 13:53:32 +1100
committerDamien Miller <djm@mindrot.org>2006-03-26 13:53:32 +1100
commit928b23684a1d94dc2bc1cecc75b0e596eb7a4cb9 (patch)
tree517691f8fb0f6e16746524d9eee3d61582cbe0e6
parent6db780e259f985b9c88dff222eb56b4726a5a5e1 (diff)
downloadopenssh-git-928b23684a1d94dc2bc1cecc75b0e596eb7a4cb9.tar.gz
- djm@cvs.openbsd.org 2006/03/19 02:24:05
[dh.c readconf.c servconf.c] potential NULL pointer dereferences detected by Coverity via elad AT netbsd.org; ok deraadt@
-rw-r--r--ChangeLog6
-rw-r--r--dh.c3
-rw-r--r--readconf.c3
-rw-r--r--servconf.c3
4 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 1093f545..19425d86 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,6 +26,10 @@
[hostfile.c]
FILE* leak detected by Coverity via elad AT netbsd.org;
ok deraadt@
+ - djm@cvs.openbsd.org 2006/03/19 02:24:05
+ [dh.c readconf.c servconf.c]
+ potential NULL pointer dereferences detected by Coverity
+ via elad AT netbsd.org; ok deraadt@
20060325
- OpenBSD CVS Sync
@@ -4283,4 +4287,4 @@
- (djm) Trim deprecated options from INSTALL. Mention UsePAM
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
-$Id: ChangeLog,v 1.4248 2006/03/26 02:52:20 djm Exp $
+$Id: ChangeLog,v 1.4249 2006/03/26 02:53:32 djm Exp $
diff --git a/dh.c b/dh.c
index a30b704f..e8ce3d1a 100644
--- a/dh.c
+++ b/dh.c
@@ -45,7 +45,8 @@ parse_prime(int linenum, char *line, struct dhgroup *dhg)
char *strsize, *gen, *prime;
cp = line;
- arg = strdelim(&cp);
+ if ((arg = strdelim(&cp)) == NULL)
+ return 0;
/* Ignore leading whitespace */
if (*arg == '\0')
arg = strdelim(&cp);
diff --git a/readconf.c b/readconf.c
index 1112d0d8..e2e10d9d 100644
--- a/readconf.c
+++ b/readconf.c
@@ -324,7 +324,8 @@ process_config_line(Options *options, const char *host,
s = line;
/* Get the keyword. (Each line is supposed to begin with a keyword). */
- keyword = strdelim(&s);
+ if ((keyword = strdelim(&s)) == NULL)
+ return 0;
/* Ignore leading whitespace. */
if (*keyword == '\0')
keyword = strdelim(&s);
diff --git a/servconf.c b/servconf.c
index 2ae93d4c..7923f5df 100644
--- a/servconf.c
+++ b/servconf.c
@@ -447,7 +447,8 @@ process_server_config_line(ServerOptions *options, char *line,
u_int i;
cp = line;
- arg = strdelim(&cp);
+ if ((arg = strdelim(&cp)) != NULL)
+ return 0;
/* Ignore leading whitespace */
if (*arg == '\0')
arg = strdelim(&cp);