)]}'
{
  "commit": "ce788f930b0cdf821de7ee8f84cfe8cf7fcb6311",
  "tree": "4f4d451b4e81d6693199fcfb405f6133e6cae61c",
  "parents": [
    "99ee5315dac6211e972fa3f23bcc9a0343ff58c4"
  ],
  "author": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Wed May 04 08:00:47 2011 +0200"
  },
  "committer": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Wed May 04 08:18:17 2011 +0200"
  },
  "message": "alarmtimer: Check return value of class_find_device()\n\nalarmtimer_late_init() uses class_find_device() to find a alarm\ncapable rtc device. The match callback stores a pointer to the name in\nthe char pointer handed in from the call site. alarmtimer_late_init()\nchecks the char pointer for NULL, but the pointer is on the stack and\nnot initialized to NULL before the call. So it can have random content\nwhen the match function did not identify a device, which leads to\nrandom access in the following rtc_open() call where the pointer is\ndereferenced\n\nInstead of relying on the char pointer, check the return value of\nclass_find_device. If a device is found then the name pointer is valid\nas well.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9265014cb4dbbf617487704b53b70cbcbb47bfcd",
      "old_mode": 33188,
      "old_path": "kernel/time/alarmtimer.c",
      "new_id": "e5db9b00751b02473d0903e7b4456aa0c2c5cd22",
      "new_mode": 33188,
      "new_path": "kernel/time/alarmtimer.c"
    }
  ]
}
