{"shas":[["d1946ffe9be0031a2daf907f5e96cf0ee7f5e15e","bccc13a6a503d7a7fa4dd13a17e396dae2e7a82d@your-file-system.com","libafs/dir: Verify directory pathnames\n\nProvide a new routine, afs_dir_GetVerifiedBlob() which will ensure\nthat the pathname contained within a directory blob is correctly\nterminated before returning it to the caller. For the purposes of this\nfunction, correct termination is defined as having a terminating\n\\0 character within the same directory page as the blob itself.\n\nChange-Id: I4b3bbb95cb49645a8ac52e6061f9e24f89924831\nReviewed-on: http://gerrit.openafs.org/5241\nTested-by: BuildBot <buildbot@rampaginggeek.com>\nReviewed-by: Derrick Brashear <shadow@dementix.org>","Simon Wilkinson"],["bb25bdfcb059fc54a57fd4733ce3184e231ca88d","bccc13a6a503d7a7fa4dd13a17e396dae2e7a82d@your-file-system.com","dir: Protect against circular hash chains\n\nThe dir package didn't protect against circular hash chains when\nperforming directory lookups. A corrupt directory could therefore\ncause a client or a fileserver to go into an endless loop if that\ndirectory contained a loop in its hash chain pointers.\n\nFix this by exiting the lookup if the hash chain has more elements\nthan the total number of entries in a directory. This maximum number\nof entries is taken as being (number of entries per page) * (max\nnumber of pages), which is considerably more than the real maximum\nvalue.\n\nChange-Id: I9e281571f3b01bd8de346ee5418df38b2f5edaa1\nReviewed-on: http://gerrit.openafs.org/5242\nTested-by: BuildBot <buildbot@rampaginggeek.com>\nReviewed-by: Derrick Brashear <shadow@dementix.org>","Simon Wilkinson"]],"ref":"refs/heads/master","size":2,"head":"bb25bdfcb059fc54a57fd4733ce3184e231ca88d","push_id":39442888}