diff options
Diffstat (limited to 'source4/heimdal/lib/hx509/name.c')
-rw-r--r-- | source4/heimdal/lib/hx509/name.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source4/heimdal/lib/hx509/name.c b/source4/heimdal/lib/hx509/name.c index 546b749015..c5844f98cc 100644 --- a/source4/heimdal/lib/hx509/name.c +++ b/source4/heimdal/lib/hx509/name.c @@ -399,7 +399,7 @@ _hx509_name_ds_cmp(const DirectoryString *ds1, int *diff) { uint32_t *ds1lp, *ds2lp; - size_t ds1len, ds2len; + size_t ds1len, ds2len, i; int ret; ret = dsstringprep(ds1, &ds1lp, &ds1len); @@ -413,9 +413,13 @@ _hx509_name_ds_cmp(const DirectoryString *ds1, if (ds1len != ds2len) *diff = ds1len - ds2len; - else - *diff = memcmp(ds1lp, ds2lp, ds1len * sizeof(ds1lp[0])); - + else { + for (i = 0; i < ds1len; i++) { + *diff = ds1lp[i] - ds2lp[i]; + if (*diff) + break; + } + } free(ds1lp); free(ds2lp); |