x509/by_dir.c: fix run-away pointer (and potential SEGV)

when adding duplicates in add_cert_dir.

PR: 3261
Reported by: Marian Done
(cherry picked from commit 758954e0d8232d370ed72b7f86640e40443e1778)
This commit is contained in:
Andy Polyakov 2014-02-24 15:16:56 +01:00
parent deb3b08ff2
commit c4b16ddc8f

View File

@ -218,7 +218,7 @@ static int add_cert_dir(BY_DIR *ctx, const char *dir, int type)
s=dir; s=dir;
p=s; p=s;
for (;;p++) do
{ {
if ((*p == LIST_SEPARATOR_CHAR) || (*p == '\0')) if ((*p == LIST_SEPARATOR_CHAR) || (*p == '\0'))
{ {
@ -264,9 +264,7 @@ static int add_cert_dir(BY_DIR *ctx, const char *dir, int type)
return 0; return 0;
} }
} }
if (*p == '\0') } while (*p++ != '\0');
break;
}
return 1; return 1;
} }