mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-14 17:39:58 +00:00
fix bug 1235
* src/support/filetools.C (readBB_from_PSFile): sanitize return value git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_4_X@13550 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
15df5a0a83
commit
29d5aa8d82
@ -1192,12 +1192,22 @@ string const readBB_from_PSFile(string const & file)
|
||||
return string();
|
||||
}
|
||||
|
||||
static boost::regex bbox_re(
|
||||
"^%%BoundingBox:\\s*([[:digit:]]+)\\s+([[:digit:]]+)\\s+([[:digit:]]+)\\s+([[:digit:]]+)");
|
||||
std::ifstream is(file_.c_str());
|
||||
while (is) {
|
||||
string s;
|
||||
getline(is,s);
|
||||
if (contains(s,"%%BoundingBox:") && !contains(s,"atend")) {
|
||||
string const bb = ltrim(s.substr(14));
|
||||
boost::smatch what;
|
||||
if (regex_match(s, what, bbox_re)) {
|
||||
// Our callers expect the tokens in the string
|
||||
// separated by single spaces.
|
||||
// FIXME: change return type from string to something
|
||||
// sensible
|
||||
ostringstream os;
|
||||
os << what.str(1) << ' ' << what.str(2) << ' '
|
||||
<< what.str(3) << ' ' << what.str(4);
|
||||
string const bb = os.str();
|
||||
readBB_lyxerrMessage(file_, zipped, bb);
|
||||
return bb;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user