mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-09-03 10:51:05 +02:00
system/flashtool.cpp: prevent crash on invalid mtdData access,
ie pos = -1 if system-fs not found;
change sysfs name on apollo
Origin commit data
------------------
Commit: be05be5069
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2013-06-18 (Tue, 18 Jun 2013)
This commit is contained in:
@@ -577,22 +577,30 @@ std::string CMTDInfo::getMTDName(const int pos)
|
|||||||
{
|
{
|
||||||
// TODO: check /proc/mtd specification to determine mtdname encoding
|
// TODO: check /proc/mtd specification to determine mtdname encoding
|
||||||
|
|
||||||
return FILESYSTEM_ENCODING_TO_UTF8_STRING(mtdData[pos]->name);
|
if (pos >= 0)
|
||||||
|
return FILESYSTEM_ENCODING_TO_UTF8_STRING(mtdData[pos]->name);
|
||||||
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CMTDInfo::getMTDFileName(const int pos)
|
std::string CMTDInfo::getMTDFileName(const int pos)
|
||||||
{
|
{
|
||||||
return mtdData[pos]->filename;
|
if (pos >= 0)
|
||||||
|
return mtdData[pos]->filename;
|
||||||
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
int CMTDInfo::getMTDSize(const int pos)
|
int CMTDInfo::getMTDSize(const int pos)
|
||||||
{
|
{
|
||||||
return mtdData[pos]->size;
|
if (pos >= 0)
|
||||||
|
return mtdData[pos]->size;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CMTDInfo::getMTDEraseSize(const int pos)
|
int CMTDInfo::getMTDEraseSize(const int pos)
|
||||||
{
|
{
|
||||||
return mtdData[pos]->erasesize;
|
if (pos >= 0)
|
||||||
|
return mtdData[pos]->erasesize;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CMTDInfo::findMTDNumber(const std::string & filename)
|
int CMTDInfo::findMTDNumber(const std::string & filename)
|
||||||
@@ -624,7 +632,11 @@ int CMTDInfo::getMTDEraseSize( const std::string & filename )
|
|||||||
|
|
||||||
std::string CMTDInfo::findMTDsystem()
|
std::string CMTDInfo::findMTDsystem()
|
||||||
{
|
{
|
||||||
|
#ifdef BOXMODEL_APOLLO
|
||||||
|
std::string sysfs = "root0";
|
||||||
|
#else
|
||||||
std::string sysfs = "systemFS";
|
std::string sysfs = "systemFS";
|
||||||
|
#endif
|
||||||
|
|
||||||
for(int i = 0; i < getMTDCount(); i++) {
|
for(int i = 0; i < getMTDCount(); i++) {
|
||||||
if(getMTDName(i) == sysfs) {
|
if(getMTDName(i) == sysfs) {
|
||||||
|
Reference in New Issue
Block a user