Fix segfault when replicant source can't be found

This commit is contained in:
Sasha Koshka
2023-11-14 01:05:20 -05:00
parent 192aa666ca
commit 0e99b0ceed
3 changed files with 9 additions and 4 deletions

View File

@@ -105,7 +105,7 @@ String XmdReplicantResolveName (ConstString rawName) {
String name = NULL;
XtAsprintf(&name, "%s.so", rawName);
if (list == NULL) list = defaultReplicantPath;
while (file == NULL) {
char ch = *list;
if (dirBuffer == NULL) dirBuffer = XmdBufferNew(char);
@@ -120,6 +120,7 @@ String XmdReplicantResolveName (ConstString rawName) {
} else {
XmdBufferPush(dirBuffer, &ch);
}
if (ch == 0) break;
list ++;
}
XtFree(name);
@@ -355,7 +356,9 @@ static replicantSource *sourceGet (ConstString name) {
if (source != NULL) return source;
/* open the source */
return sourceOpen(name);
source = sourceOpen(name);
XmdStringMapSet(resident, name, source);
return source;
}
static String scanDir (ConstString path, ConstString name) {