)]}'
{
  "commit": "cd58a90fa6ff2ec86bcc9e399acfd6dcc97268b3",
  "tree": "e941beaeb57e7b3158bb6f5c8cb6b6f72fa121e8",
  "parents": [
    "4e24dbfc26f8b8285c9ed2f92ffddf4eb8ab960a"
  ],
  "author": {
    "name": "Cheng Renquan",
    "email": "crquan@gmail.com",
    "time": "Thu Sep 01 10:52:19 2011 -0700"
  },
  "committer": {
    "name": "Michal Marek",
    "email": "mmarek@suse.cz",
    "time": "Fri Sep 09 14:40:08 2011 +0200"
  },
  "message": "scripts/kconfig/nconf: fix memmove\u0027s length arg\n\nIn case KEY_BACKSPACE / KEY_DC to delete a char, it memmove only\n(len-cursor_position+1) bytes;\nthe default case is to insert a char, it should also memmove exactly\n(len-cursor_position+1) bytes;\n\nthe original use of (len+1) is wrong and may access following memory\nthat doesn\u0027t belong to result, may cause SegFault in theory;\n\n\tcase KEY_BACKSPACE:\n\t\tif (cursor_position \u003e 0) {\n\t\t\tmemmove(\u0026result[cursor_position-1],\n\t\t\t\t\t\u0026result[cursor_position],\n\t\t\t\t\tlen-cursor_position+1);\n\t\t\tcursor_position--;\n\t\t}\n\t\tbreak;\n\tcase KEY_DC:\n\t\tif (cursor_position \u003e\u003d 0 \u0026\u0026 cursor_position \u003c len) {\n\t\t\tmemmove(\u0026result[cursor_position],\n\t\t\t\t\t\u0026result[cursor_position+1],\n\t\t\t\t\tlen-cursor_position+1);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\tif ((isgraph(res) || isspace(res)) \u0026\u0026\n\t\t\t\tlen-2 \u003c result_len) {\n\t\t\t/* insert the char at the proper position */\n\t\t\tmemmove(\u0026result[cursor_position+1],\n\t\t\t\t\t\u0026result[cursor_position],\n\t\t\t\t\tlen-cursor_position+1);\n\t\t\tresult[cursor_position] \u003d res;\n\t\t\tcursor_position++;\n\t\t}\n\nSigned-off-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nAcked-by: Nir Tzachar \u003cnir.tzachar@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d3af04e95288bc974c527518c02e9f726b2a7317",
      "old_mode": 33188,
      "old_path": "scripts/kconfig/nconf.gui.c",
      "new_id": "3ce2a7c0bda6f846e2f9968d954abb0fedade438",
      "new_mode": 33188,
      "new_path": "scripts/kconfig/nconf.gui.c"
    }
  ]
}
