commit 76f9485b0259ddd81374d8a4fe2b9d4ded57348d
parent db2dc81cee2cf4f7a95c3ccb32c18e6d07b17462
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Mon, 9 Jan 2006 03:23:29 +0000
in ngetdelim(), do sanity checks manually again instead of in an assert,
and set errno to EINVAL as well as return -1 if they fail; this matches
the manual page
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3262 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -17,6 +17,11 @@ CVS code -
- chars.c:
mbstrchr()
- Make parameter c const. (DLR)
+- utils.c:
+ ngetdelim()
+ - Do sanity checks manually again instead of in an assert, and
+ set errno to EINVAL as well as return -1 if they fail. This
+ matches the manual page. (DLR)
- winio.c:
edit_scroll()
- Redraw the lines before and after the scrolled region even if
diff --git a/src/utils.c b/src/utils.c
@@ -3,7 +3,7 @@
* utils.c *
* *
* Copyright (C) 1999-2004 Chris Allegretta *
- * Copyright (C) 2005 David Lawrence Ramsey *
+ * Copyright (C) 2005-2006 David Lawrence Ramsey *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2, or (at your option) *
@@ -197,7 +197,10 @@ ssize_t ngetdelim(char **lineptr, size_t *n, int delim, FILE *stream)
int c;
/* Sanity checks. */
- assert(lineptr != NULL && n != NULL && stream != NULL);
+ if (lineptr == NULL || n == NULL || stream == NULL) {
+ errno = EINVAL;
+ return -1;
+ }
/* Allocate the line the first time. */
if (*lineptr == NULL) {