Skip to content
This repository has been archived by the owner on Sep 22, 2022. It is now read-only.

Commit

Permalink
reopenldap: fix gcc-8 warnings.
Browse files Browse the repository at this point in the history
Change-Id: I8ef2ace34122b9466ef886ae2589503fd2411904
  • Loading branch information
erthink committed Aug 7, 2018
1 parent 05ddd16 commit fe31894
Show file tree
Hide file tree
Showing 12 changed files with 40 additions and 46 deletions.
2 changes: 1 addition & 1 deletion clients/tools/ldapmodify.c
Expand Up @@ -376,7 +376,7 @@ static int process_ldif_rec(char *rbuf, unsigned long linenum) {
LDAPMod **pmods, *lm = NULL;
int version;
LDAPControl **pctrls;
int i, j, k, lines, idn, nmods;
int i, j, k, lines, idn = 0, nmods;
struct berval *btype, *vals, **bvl, bv;
char *freeval;
unsigned char *mops = NULL;
Expand Down
10 changes: 4 additions & 6 deletions contrib/slapd-modules/check_password/check_password.c
Expand Up @@ -99,12 +99,10 @@ void dealloc_config_entries() {
}

char *chomp(char *s) {
char *t = ber_memalloc(strlen(s) + 1);
strncpy(t, s, strlen(s) + 1);

if (t[strlen(t) - 1] == '\n') {
t[strlen(t) - 1] = '\0';
}
char *t = ber_strdup(s);
if (t)
for (size_t len = strlen(s); len > 0 && t[len - 1] == '\n';)
t[--len] = '\0';

return t;
}
Expand Down
4 changes: 2 additions & 2 deletions libraries/libreldap/charray.c
Expand Up @@ -238,12 +238,12 @@ char *ldap_charray2str(char **a, const char *sep) {
p = s;
for (v = a; *v != NULL; v++) {
if (v != a) {
strncpy(p, sep, slen);
memcpy(p, sep, slen);
p += slen;
}

len = strlen(*v);
strncpy(p, *v, len);
memcpy(p, *v, len);
p += len;
}

Expand Down
2 changes: 1 addition & 1 deletion libraries/libreldap/schema.c
Expand Up @@ -169,7 +169,7 @@ static int append_to_safe_string(safe_string *ss, char *s) {
}
ss->val = temp;
}
strncpy(&ss->val[ss->pos], s, l);
memcpy(&ss->val[ss->pos], s, l + 1);
ss->pos += l;
if (ss->pos > 0 && LDAP_SPACE(ss->val[ss->pos - 1]))
ss->at_whsp = 1;
Expand Down
13 changes: 4 additions & 9 deletions servers/slapd/aclparse.c
Expand Up @@ -132,10 +132,8 @@ static void regtest(const char *fname, int lineno, char *pat) {
}

if ((e = regcomp(&re, buf, REG_EXTENDED | REG_ICASE))) {
char error[SLAP_TEXT_BUFLEN];

char error[sizeof(buf) - 64];
regerror(e, &re, error, sizeof(error));

snprintf(buf, sizeof(buf), "regular expression \"%s\" bad because of %s",
pat, error);
Debug(LDAP_DEBUG_ANY, "%s: line %d: %s\n", fname, lineno, buf);
Expand Down Expand Up @@ -279,7 +277,7 @@ static int check_scope(BackendDB *be, AccessControl *a) {
int parse_acl(Backend *be, const char *fname, int lineno, int argc, char **argv,
int pos) {
int i;
char *left, *right, *style;
char *left, *right = NULL, *style;
struct berval bv;
AccessControl *a = NULL;
Access *b = NULL;
Expand Down Expand Up @@ -476,10 +474,8 @@ int parse_acl(Backend *be, const char *fname, int lineno, int argc, char **argv,
int e = regcomp(&a->acl_attrval_re, bv.bv_val,
REG_EXTENDED | REG_ICASE);
if (e) {
char err[SLAP_TEXT_BUFLEN], buf[SLAP_TEXT_BUFLEN];

char buf[SLAP_TEXT_BUFLEN], err[sizeof(buf) - 64];
regerror(e, &a->acl_attrval_re, err, sizeof(err));

snprintf(buf, sizeof(buf),
"regular expression \"%s\" bad because of %s", right,
err);
Expand Down Expand Up @@ -617,8 +613,7 @@ int parse_acl(Backend *be, const char *fname, int lineno, int argc, char **argv,
int e = regcomp(&a->acl_dn_re, a->acl_dn_pat.bv_val,
REG_EXTENDED | REG_ICASE);
if (e) {
char err[SLAP_TEXT_BUFLEN], buf[SLAP_TEXT_BUFLEN];

char buf[SLAP_TEXT_BUFLEN], err[sizeof(buf) - 64];
regerror(e, &a->acl_dn_re, err, sizeof(err));
snprintf(buf, sizeof(buf),
"regular expression \"%s\" bad because of %s", right, err);
Expand Down
2 changes: 1 addition & 1 deletion servers/slapd/ad.c
Expand Up @@ -740,7 +740,7 @@ int slap_bv2undef_ad(struct berval *bv, AttributeDescription **ad,

desc->ad_cname.bv_len = bv->bv_len;
desc->ad_cname.bv_val = (char *)(desc + 1);
strncpy(desc->ad_cname.bv_val, bv->bv_val, bv->bv_len);
memcpy(desc->ad_cname.bv_val, bv->bv_val, bv->bv_len);
desc->ad_cname.bv_val[bv->bv_len] = '\0';

/* canonical to upper case */
Expand Down
10 changes: 3 additions & 7 deletions servers/slapd/back-meta/config.c
Expand Up @@ -848,14 +848,10 @@ static int meta_subtree_config(metatarget_t *mt, ConfigArgs *c) {
break;

case META_ST_REGEX: {
int rc;

rc = regcomp(&ms->ms_regex, pattern, REG_EXTENDED | REG_ICASE);
int rc = regcomp(&ms->ms_regex, pattern, REG_EXTENDED | REG_ICASE);
if (rc != 0) {
char regerr[SLAP_TEXT_BUFLEN];

char regerr[sizeof(c->cr_msg) - 64];
regerror(rc, &ms->ms_regex, regerr, sizeof(regerr));

snprintf(c->cr_msg, sizeof(c->cr_msg),
"regular expression \"%s\" bad because of %s", pattern, regerr);
ch_free(ms);
Expand Down Expand Up @@ -2139,7 +2135,7 @@ static int meta_back_cf_gen(ConfigArgs *c) {
mf = ch_malloc(sizeof(metafilter_t));
rc = regcomp(&mf->mf_regex, c->argv[1], REG_EXTENDED);
if (rc) {
char regerr[SLAP_TEXT_BUFLEN];
char regerr[sizeof(c->cr_msg) - 64];
regerror(rc, &mf->mf_regex, regerr, sizeof(regerr));
snprintf(c->cr_msg, sizeof(c->cr_msg),
"regular expression \"%s\" bad because of %s", c->argv[1],
Expand Down
3 changes: 2 additions & 1 deletion servers/slapd/config.c
Expand Up @@ -1038,7 +1038,8 @@ int config_verbmask2string(const slap_verbmasks *v, slap_mask_t m, char delim,
return ARG_BAD_CONF;

LDAP_ENSURE(value.bv_len < sizeof(c->log));
strncpy(c->value_string = c->log, value.bv_val, sizeof(c->log));
strncpy(c->value_string = c->log, value.bv_val, sizeof(c->log) - 1);
c->log[sizeof(c->log) - 1] = '\0';
ch_free(value.bv_val);
return 0;
}
Expand Down
2 changes: 1 addition & 1 deletion servers/slapd/overlays/constraint.c
Expand Up @@ -308,7 +308,7 @@ static int constraint_cf_gen(ConfigArgs *c) {
ap.type = CONSTRAINT_REGEX;
ap.re = ch_malloc(sizeof(regex_t));
if ((err = regcomp(ap.re, c->argv[3], REG_EXTENDED)) != 0) {
char errmsg[1024];
char errmsg[sizeof(c->cr_msg) - 64];

regerror(err, ap.re, errmsg, sizeof(errmsg));
ch_free(ap.re);
Expand Down
11 changes: 6 additions & 5 deletions servers/slapd/overlays/pcache.c
Expand Up @@ -1066,11 +1066,12 @@ static int find_and_remove(struct berval *ber1, struct berval *ber2,
}
break;
case 2: {
char *temp;
ber1->bv_val[ber1->bv_len] = '\0';
temp = strstr(ber1->bv_val, ber2->bv_val);
if (temp) {
strcpy(temp, temp + ber2->bv_len);
char *const needle =
memmem(ber1->bv_val, ber1->bv_len, ber2->bv_val, ber2->bv_len);
if (needle) {
char *const haystack_end = ber1->bv_val + ber1->bv_len;
char *const needle_end = needle + ber2->bv_len;
memcpy(needle, needle_end, haystack_end - needle_end);
ber1->bv_len -= ber2->bv_len;
ret = 1;
}
Expand Down
7 changes: 5 additions & 2 deletions servers/slapd/saslauthz.c
Expand Up @@ -300,6 +300,7 @@ int authzValidate(Syntax *syntax, struct berval *in) {
id.bv_len = in->bv_len;
id.bv_val = buf;
strncpy(buf, in->bv_val, sizeof(buf));
buf[sizeof(buf) - 1] = '\0';

rc = slap_parse_user(&id, &user, &realm, &mech);
if (rc != LDAP_SUCCESS) {
Expand Down Expand Up @@ -593,7 +594,8 @@ static int authzPrettyNormal(struct berval *val, struct berval *normalized,

id.bv_len = val->bv_len;
id.bv_val = buf;
strncpy(buf, val->bv_val, sizeof(buf));
strncpy(buf, val->bv_val, sizeof(buf) - 1);
buf[sizeof(buf) - 1] = '\0';

rc = slap_parse_user(&id, &user, &realm, &mech);
if (rc != LDAP_SUCCESS) {
Expand Down Expand Up @@ -991,7 +993,8 @@ static int slap_parseURI(Operation *op, struct berval *uri, struct berval *base,

id.bv_len = uri->bv_len;
id.bv_val = buf;
strncpy(buf, uri->bv_val, sizeof(buf));
strncpy(buf, uri->bv_val, sizeof(buf) - 1);
buf[sizeof(buf) - 1] = '\0';

rc = slap_parse_user(&id, &user, &realm, &mech);
if (rc != LDAP_SUCCESS) {
Expand Down
20 changes: 10 additions & 10 deletions tests/progs/slapd-mtread.c
Expand Up @@ -98,19 +98,19 @@ static void thread_error(int idx, char *string) {
}

static void thread_output(int idx, char *string) {
char thrstr[BUFSIZ];

snprintf(thrstr, BUFSIZ, "tidx: %d says: %s", idx, string);
tester_error(thrstr);
char buf[BUFSIZ];
snprintf(buf, BUFSIZ, "tidx: %d says: %.*s", idx, (int)sizeof(buf) - 64,
string);
tester_error(buf);
}

static void thread_verbose(int idx, char *string) {
char thrstr[BUFSIZ];

if (!verbose)
return;
snprintf(thrstr, BUFSIZ, "tidx: %d says: %s", idx, string);
tester_error(thrstr);
if (verbose) {
char buf[BUFSIZ];
snprintf(buf, BUFSIZ, "tidx: %d says: %.*s", idx, (int)sizeof(buf) - 64,
string);
tester_error(buf);
}
}

static void usage(char *name, char opt) {
Expand Down

0 comments on commit fe31894

Please sign in to comment.