Commit e75d285b authored by Kershaw Chang's avatar Kershaw Chang Committed by Richard Pospesel
Browse files

Bug 1789808 - Fix buffer overflow, r=necko-reviewers,dragana, a=dmeehan

parent 676b50fe
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -246,11 +246,14 @@ static bool scanArp(char* ip, char* mac, size_t maclen) {
    if (st == 0 || errno != ENOMEM) {
      break;
    }
    needed += needed / 8;

    auto tmp = MakeUnique<char[]>(needed);
    size_t increased = needed;
    increased += increased / 8;

    auto tmp = MakeUnique<char[]>(increased);
    memcpy(&tmp[0], &buf[0], needed);
    buf = std::move(tmp);
    needed = increased;
  }
  if (st == -1) {
    return false;