* [Bug 13569] New: Examples in some pages make invalid use of the assert macro
@ 2009-06-18 15:10 bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r
[not found] ` <bug-13569-11311-V0hAGp6uBxO456/isadD/XN4h3HLQggn@public.gmane.org/>
0 siblings, 1 reply; 2+ messages in thread
From: bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r @ 2009-06-18 15:10 UTC (permalink / raw)
To: linux-man-u79uwXL29TY76Z2rM5mHXA
http://bugzilla.kernel.org/show_bug.cgi?id=13569
Summary: Examples in some pages make invalid use of the assert
macro
Product: Documentation
Version: unspecified
Kernel Version: n/a
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: man-pages
AssignedTo: documentation_man-pages-ztI5WcYan/vQLgFONoPN62D2FQJk+8+b@public.gmane.org
ReportedBy: andrey.vihrov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Regression: No
The purpose of the assert macro, defined in <assert.h>, is to provide a tool to
check for programming mistakes or program logic errors. However, the assert
macro must never be used to perform checks for run time errors, since, with the
NDEBUG macro defined, expressions within the assert macro invocations are not
evaluated/checked for, resulting in behavior that was not originally intended.
Currently (man-pages 3.20, Gentoo Linux), some pages contain example programs
that use assert to check for run time errors, specifically, like this:
#include <assert.h>
int main (int argc, char *argv[])
{
assert(argc == 2); /* Check for argc value was intended */
}
The proper way to do this is without assert, for example, like this:
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
if (argc != 2)
{
fprintf(stderr, "invalid parameter count\n");
exit(EXIT_FAILURE);
}
}
The pages affected in the core package are
execve(2)
pipe(2)
tee(2)
fmemopen(3)
mq_notify(3)
qsort(3)
--
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Bug 13569] Examples in some pages make invalid use of the assert macro
[not found] ` <bug-13569-11311-V0hAGp6uBxO456/isadD/XN4h3HLQggn@public.gmane.org/>
@ 2009-09-15 4:38 ` bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r
0 siblings, 0 replies; 2+ messages in thread
From: bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r @ 2009-09-15 4:38 UTC (permalink / raw)
To: linux-man-u79uwXL29TY76Z2rM5mHXA
http://bugzilla.kernel.org/show_bug.cgi?id=13569
Michael Kerrisk <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
--- Comment #1 from Michael Kerrisk <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2009-09-15 04:38:14 ---
Agreed. For man-pages-3.23, I've fixed all of the pages as you suggest
--
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-09-15 4:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-18 15:10 [Bug 13569] New: Examples in some pages make invalid use of the assert macro bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r
[not found] ` <bug-13569-11311-V0hAGp6uBxO456/isadD/XN4h3HLQggn@public.gmane.org/>
2009-09-15 4:38 ` [Bug 13569] " bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).