return true;
}
-static bool tdb_data_is_empty(TDB_DATA d) {
- return (d.dptr == NULL) || (d.dsize == 0);
-}
-
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 strchr((char *)d.dptr, '\0') == (char *)&d.dptr[d.dsize-1];
}
static char* tdb_data_print(TALLOC_CTX *mem_ctx, TDB_DATA d)
ctx->opt.wipe = true;
}
- ctx->odb = db_open(ctx, ctx->opt.output, 0, TDB_DEFAULT, oflags, 0644);
+ ctx->odb = db_open(ctx, ctx->opt.output, 0, TDB_DEFAULT, oflags, 0644,
+ DBWRAP_LOCK_ORDER_1);
if (ctx->odb == NULL) {
d_fprintf(stderr,
_("Could not open db (%s) for writing: %s\n"),
static bool check_ctx_open_input(struct check_ctx *ctx) {
- ctx->idb = db_open(ctx, ctx->fname, 0, TDB_DEFAULT, O_RDONLY, 0);
+ ctx->idb = db_open(ctx, ctx->fname, 0, TDB_DEFAULT, O_RDONLY, 0,
+ DBWRAP_LOCK_ORDER_1);
if (ctx->idb == NULL) {
d_fprintf(stderr,
_("Could not open db (%s) for reading: %s\n"),
return false;
}
*ppath = path;
- /* We know pos ends in '\0'. */
- *ptr = &pos[strlen(pos)];
+ *ptr = strchr(pos, '\0');
return true;
}