Lukas Fleischer 39d3007318 Prevent segfault when all todo items are hidden
To prevent from illegal memory access, we checked whether the list of
todo items is empty before performing an interactive todo item action
such as flagging or removal. However, since 1a4bf2b (Add a "hide
completed" view to the todo panel, 2016-01-17), it is possible to hide
completed items from the todo panel. Thus, it may occur that the todo
list box is empty while the list of todo items is not.

To detect such situations as well, teach todo_get_item() to return NULL
if the requested item does not exist. Then, instead of checking whether
the todo item list is non-empty, make sure that the item returned by
todo_get_item() is non-NULL when performing an action.

Reported-by: Vlad Glagolev <scm@vaygr.net>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
2016-10-14 20:29:50 +02:00
2014-07-28 13:12:42 +02:00
2016-10-10 22:02:07 +02:00
2016-10-10 22:00:15 +02:00
2016-01-30 11:21:53 +01:00
2012-11-26 01:46:56 +01:00
2015-04-12 17:32:44 +02:00
2015-04-12 19:14:15 +02:00
2016-01-30 11:21:53 +01:00
2016-01-30 11:21:53 +01:00
2011-03-03 12:21:16 +01:00
2016-02-09 22:22:12 +01:00
2016-10-10 22:02:07 +02:00
2015-04-12 19:14:15 +02:00

calcurse
========

Building
--------

If you are using a release tarball, the following commands can be used to build
and install calcurse:

    $ ./configure
    $ make
    $ make install

Note that `make install` needs to be run as root. When working on a Git
checkout, you need to run `./autogen.sh` before `./configure`.

Package Overview
----------------

* `src`: contains calcurse sources
* `test`: contains a test suite and test cases for calcurse
* `scripts`: contains additional scripts, such as `calcurse-upgrade`
* `doc`: contains detailed documentation in plain text and HTML

Authors
-------

* Lukas Fleischer (Maintainer)
* Frederic Culot (Original Author)

Contributors
------------

* RegEx support: Erik Saule
* Dutch translation: Jeremy Roon, 2007-2010
* French translation: Frédéric Culot, 2006-2010
* French translation: Toucouch, 2007
* French translation: Erik Saule, 2011-2012
* French translation: Stéphane Aulery, 2012
* French translation: Baptiste Jonglez, 2012
* German translation: Michael Schulz, 2006-2010
* German translation: Chris M., 2006
* German translation: Benjamin Moeller, 2010
* German translation: Lukas Fleischer, 2011-2012
* Portuguese (Brazil) translation: Rafael Ferreira, 2012
* Russian translation: Aleksey Mechonoshin, 2011-2012
* Spanish translation: Jose Lopez, 2006-2010

Also check the `Thanks` section in the manual for a list of people who have
contributed by reporting bugs, sending fixes, or suggesting improvements.
Description
No description provided
Readme 5.2 MiB
Languages
C 65.7%
Shell 29.6%
Python 3.4%
M4 0.8%
Makefile 0.5%