From 958e4f51d2857e1f84acf770ab0d9f2cee5d5d83 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 6 Dec 2011 01:05:39 +0100 Subject: Revert "Remove rawmemchr calls - found by Ira Cooper. These are glibc-specific calls, makes us completely non-portable." This reverts commit 82b1702284ba2bb61b23e1f14ce9145d896c36c0. This is not functionally equivalent, needs to be done differently. --- source3/utils/net_registry_check.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/source3/utils/net_registry_check.c b/source3/utils/net_registry_check.c index 9dca2192b6..98f17f506e 100644 --- a/source3/utils/net_registry_check.c +++ b/source3/utils/net_registry_check.c @@ -208,10 +208,10 @@ static bool tdb_data_read_regval(TDB_DATA *buf, struct regval *result) } static bool tdb_data_is_cstr(TDB_DATA d) { - if (tdb_data_is_empty(d)) { + if (tdb_data_is_empty(d) || (d.dptr[d.dsize-1] != '\0')) { return false; } - return (d.dptr[d.dsize-1] == '\0'); + return rawmemchr(d.dptr, '\0') == &d.dptr[d.dsize-1]; } static char* tdb_data_print(TALLOC_CTX *mem_ctx, TDB_DATA d) @@ -664,8 +664,7 @@ static bool srprs_path(const char **ptr, const char* prefix, char sep, return false; } *ppath = path; - /* We know pos ends in '\0'. */ - *ptr = &pos[strlen(pos)]; + *ptr = rawmemchr(pos, '\0'); return true; } -- cgit