зеркало из https://github.com/microsoft/caffe.git
Fix for buffer overflow problem with long filenames when setting up the LevelDB
This commit is contained in:
Родитель
1fcf37b0c0
Коммит
5b4d91d76e
|
@ -66,7 +66,8 @@ int main(int argc, char** argv) {
|
||||||
string root_folder(argv[1]);
|
string root_folder(argv[1]);
|
||||||
Datum datum;
|
Datum datum;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
char key_cstr[100];
|
const int maxKeyLength = 256;
|
||||||
|
char key_cstr[maxKeyLength];
|
||||||
leveldb::WriteBatch* batch = new leveldb::WriteBatch();
|
leveldb::WriteBatch* batch = new leveldb::WriteBatch();
|
||||||
for (int line_id = 0; line_id < lines.size(); ++line_id) {
|
for (int line_id = 0; line_id < lines.size(); ++line_id) {
|
||||||
if (!ReadImageToDatum(root_folder + lines[line_id].first, lines[line_id].second,
|
if (!ReadImageToDatum(root_folder + lines[line_id].first, lines[line_id].second,
|
||||||
|
@ -74,7 +75,7 @@ int main(int argc, char** argv) {
|
||||||
continue;
|
continue;
|
||||||
};
|
};
|
||||||
// sequential
|
// sequential
|
||||||
sprintf(key_cstr, "%08d_%s", line_id, lines[line_id].first.c_str());
|
snprintf(key_cstr, maxKeyLength, "%08d_%s", line_id, lines[line_id].first.c_str());
|
||||||
string value;
|
string value;
|
||||||
// get the value
|
// get the value
|
||||||
datum.SerializeToString(&value);
|
datum.SerializeToString(&value);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче