need C help, passing char buffer[] by-value....

Polytropon freebsd at edvax.de
Mon Oct 19 03:43:47 UTC 2009


On Sun, 18 Oct 2009 22:23:43 -0500, David Kelly <dkelly at hiwaay.net> wrote:
> When not using a count to indicate how much data is in a char* you  
> should always test for null. Testing for null is not a sure fire way  
> to prevent buffer over runs but its better than nothing.

There are means like

	#include <assert.h>
	...
	assert(s);

to make sure s is not NULL, or testing for it explicitely like

	if(!s)
		... error handling here ...

is possible. Furthermore, it is a proven way to give a length
argument along with the (char *) argument, such as the "new"
l-functions for strings, e. g. strlcat() and strlcpy(), do.

	char *skiptags(char *s, int l);

You can even double-check for l begin != 0. Or you employ a
test with strlen() function-internally.



-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...


More information about the freebsd-questions mailing list