From 76f9485b0259ddd81374d8a4fe2b9d4ded57348d Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Mon, 9 Jan 2006 03:23:29 +0000 Subject: [PATCH] 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 --- ChangeLog | 5 +++++ src/utils.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f2ed319d..e30dd7a2 100644 --- 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 index f8f4d8a7..49bcbd27 100644 --- 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) { -- 2.39.5