diff --git a/src/config_pagesize.cpp b/src/config_pagesize.cpp index 5083a7ef..c71737ec 100644 --- a/src/config_pagesize.cpp +++ b/src/config_pagesize.cpp @@ -46,12 +46,19 @@ ConfigPageSize::to_string(void) const int ConfigPageSize::from_string(const std::string_view s_) { + int rv; u64 v; u64 pagesize; + if(s_.empty()) + return -EINVAL; + pagesize = sysconf(_SC_PAGESIZE); - str::from(s_,&v); + rv = str::from(s_,&v); + if(rv < 0) + return rv; + if(!std::isalpha(s_.back())) v *= pagesize;