From e666e1156fba936dce93ccfa2486f67369a97129 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 28 Sep 2012 21:39:30 -0400 Subject: Handle octal escapes in /proc/self/mountinfo --- src/libstore/build.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/libstore/build.cc') diff --git a/src/libstore/build.cc b/src/libstore/build.cc index ca66be3b41f2..fecee04d54b1 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -1914,8 +1914,9 @@ void DerivationGoal::initChild() Strings mounts = tokenizeString(readFile("/proc/self/mountinfo", true), "\n"); foreach (Strings::iterator, i, mounts) { vector fields = tokenizeString >(*i, " "); - if (mount(0, fields.at(4).c_str(), 0, MS_PRIVATE, 0) == -1) - throw SysError(format("unable to make filesystem `%1%' private") % fields.at(4)); + string fs = decodeOctalEscaped(fields.at(4)); + if (mount(0, fs.c_str(), 0, MS_PRIVATE, 0) == -1) + throw SysError(format("unable to make filesystem `%1%' private") % fs); } /* Bind-mount all the directories from the "host" -- cgit 1.4.1