Details
-
Improvement
-
Resolution: Works as Designed
-
Major - P3
-
None
-
None
-
None
-
Storage Execution
Description
NamespaceStringOrUUID performs no validation of the NamespaceString that can be passed in, and then blindly returns the value to any callers of NamespaceStringOrUUID::nss(). This is rather inconvenient because we must still pair using the nss() returns with something like CollectionCatalog:: resolveNamespaceStringOrUUID to do the nss validation, and we get something like this:
if (nssOrUUID.nss()) {
|
auto nss = collectionCatalog->resolveNamespaceStringOrUUID(nssOrUUID);
|
....
|
}
|
We cannot trust anything returned from NamespaceStringOrUUID. UUIDs are at least generated internally, so they seem to be reliable.