Fix segfault when replicant source can't be found
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user