From: Martin v. Löwis Date: Sun, 27 Feb 2005 20:34:01 +0000 (+0000) Subject: Patch #1093585: raise a ValueError for negative history items in X-Git-Tag: v2.4.1c1~36 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ac4c46035c5bf1f1d059159146e7bec9acb76561;p=thirdparty%2FPython%2Fcpython.git Patch #1093585: raise a ValueError for negative history items in remove_history and replace_history. --- diff --git a/Misc/NEWS b/Misc/NEWS index 9106f80d9291..055c32b3770a 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -25,6 +25,13 @@ Core and builtins is provided. +Extension Modules +----------------- + +- Patch #1093585: raise a ValueError for negative history items in readline. + {remove_history,replace_history} + + Library ------- @@ -59,7 +66,6 @@ Library - Bug #1083110: ``zlib.decompress.flush()`` would segfault if called immediately after creating the object, without any intervening ``.decompress()`` calls. - Build ----- diff --git a/Modules/readline.c b/Modules/readline.c index 9d5a6bec6e1a..706eb7a10e75 100644 --- a/Modules/readline.c +++ b/Modules/readline.c @@ -303,6 +303,11 @@ py_remove_history(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "i:remove_history", &entry_number)) return NULL; + if (entry_number < 0) { + PyErr_SetString(PyExc_ValueError, + "History index cannot be negative"); + return NULL; + } entry = remove_history(entry_number); if (!entry) { PyErr_Format(PyExc_ValueError, @@ -335,6 +340,11 @@ py_replace_history(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "is:replace_history", &entry_number, &line)) { return NULL; } + if (entry_number < 0) { + PyErr_SetString(PyExc_ValueError, + "History index cannot be negative"); + return NULL; + } old_entry = replace_history_entry(entry_number, line, (void *)NULL); if (!old_entry) { PyErr_Format(PyExc_ValueError,