[Mplayer-cvslog] CVS: 0_90/linux strl.c,NONE,1.1 Makefile,1.9,1.10

Diego Biurrun CVS syncmail at mplayerhq.hu
Thu Jul 1 12:22:30 CEST 2004


CVS change done by Diego Biurrun CVS

Update of /cvsroot/mplayer/0_90/linux
In directory mail:/var2/tmp/cvs-serv26448/linux

Modified Files:
	Makefile 
Added Files:
	strl.c 
Log Message:
string handling security fixes ported from main


--- NEW FILE ---
/* strl(cat|cpy) implementation for systems that do not have it in libc */
/* strl.c - strlcpy/strlcat implementation
 * Time-stamp: <2004-03-14 njk>
 * (C) 2003-2004 Nicholas J. Kain <njk at aerifal.cx>
 */

#include "../config.h"

#ifndef HAVE_STRLCPY
unsigned int strlcpy (char *dest, char *src, unsigned int size)
{
	register unsigned int i;

	for (i=0; size > 0 && src[i] != '\0'; ++i, size--)
		dest[i] = src[i];

	dest[i] = '\0';

	return i;
}
#endif

#ifndef HAVE_STRLCAT
unsigned int strlcat (char *dest, char *src, unsigned int size)
{
#if 0
	register unsigned int i, j;

	for(i=0; size > 0 && dest[i] != '\0'; size--, i++);
	for(j=0; size > 0 && src[j] != '\0'; size--, i++, j++)
		dest[i] = src[j];

	dest[i] = '\0';
	return i;
#else
	register char *d = dest, *s = src;

	for (; size > 0 && *d != '\0'; size--, d++);
	for (; size > 0 && *s != '\0'; size--, d++, s++)
		*d = *s;

	*d = '\0';
	return (d - dest) + (s - src);
#endif 
}
#endif


Index: Makefile
===================================================================
RCS file: /cvsroot/mplayer/0_90/linux/Makefile,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Makefile	10 Mar 2003 15:51:41 -0000	1.9
+++ Makefile	1 Jul 2004 10:22:27 -0000	1.10
@@ -3,7 +3,7 @@
 
 LIBNAME = libosdep.a
 
-SRCS=getch2.c shmem.c strsep.c vsscanf.c scandir.c # timer.c
+SRCS=getch2.c shmem.c strl.c strsep.c vsscanf.c scandir.c # timer.c
 
 ifeq ($(TARGET_ARCH_X86),yes)
 ifeq ($(TARGET_OS),Linux)




More information about the MPlayer-cvslog mailing list