svn commit: samba r17724 - in
branches/SAMBA_4_0/source/lib/ldb/ldb_tdb: .
tridge at samba.org
tridge at samba.org
Tue Aug 22 23:12:23 GMT 2006
Author: tridge
Date: 2006-08-22 23:12:22 +0000 (Tue, 22 Aug 2006)
New Revision: 17724
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17724
Log:
don't rely on strnlen() as MacOSX 10.4 doesn't have it. Someday apple
will realise that buffer overflows are bad ....
Modified:
branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_pack.c
Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_pack.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_pack.c 2006-08-22 22:53:08 UTC (rev 17723)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_pack.c 2006-08-22 23:12:22 UTC (rev 17724)
@@ -155,6 +155,16 @@
return 0;
}
+/* using this means we can compile standalone on broken systems like
+ MacOSX 10.4 */
+static size_t ldb_strnlen(const char *s, size_t n)
+{
+ int i;
+ for (i=0; s[i] && i<n; i++)
+ /* noop */ ;
+ return i;
+}
+
/*
unpack a ldb message from a linear buffer in TDB_DATA
@@ -191,7 +201,7 @@
break;
case LTDB_PACKING_FORMAT:
- len = strnlen((char *)p, remaining);
+ len = ldb_strnlen((char *)p, remaining);
if (len == remaining) {
errno = EIO;
goto failed;
@@ -234,7 +244,7 @@
errno = EIO;
goto failed;
}
- len = strnlen((char *)p, remaining-6);
+ len = ldb_strnlen((char *)p, remaining-6);
if (len == remaining-6) {
errno = EIO;
goto failed;
More information about the samba-cvs
mailing list