diff --git a/bpf/loader/NetBpfLoad.cpp b/bpf/loader/NetBpfLoad.cpp index 10b0601cb2..130fbc0dec 100644 --- a/bpf/loader/NetBpfLoad.cpp +++ b/bpf/loader/NetBpfLoad.cpp @@ -349,15 +349,12 @@ static int readSectionByName(const char* name, ifstream& elfFile, vector& if (!secname) continue; if (!strcmp(secname, name)) { - vector dataTmp; - dataTmp.resize(shTable[i].sh_size); - elfFile.seekg(shTable[i].sh_offset); if (elfFile.fail()) return -1; - if (!elfFile.read((char*)dataTmp.data(), shTable[i].sh_size)) return -1; + data.resize(shTable[i].sh_size); + if (!elfFile.read(data.data(), shTable[i].sh_size)) return -1; - data = dataTmp; return 0; } } @@ -397,15 +394,12 @@ static int readSectionByType(ifstream& elfFile, int type, vector& data) { for (int i = 0; i < (int)shTable.size(); i++) { if ((int)shTable[i].sh_type != type) continue; - vector dataTmp; - dataTmp.resize(shTable[i].sh_size); - elfFile.seekg(shTable[i].sh_offset); if (elfFile.fail()) return -1; - if (!elfFile.read((char*)dataTmp.data(), shTable[i].sh_size)) return -1; + data.resize(shTable[i].sh_size); + if (!elfFile.read(data.data(), shTable[i].sh_size)) return -1; - data = dataTmp; return 0; } return -2;