Add CHECKs to prevent segfault for incorrect IMAGE_DATA layers.
authorThomas Schenker <mail.thomas.schenker@googlemail.com>
Wed, 10 Dec 2014 15:16:34 +0000 (16:16 +0100)
committerThomas Schenker <mail.thomas.schenker@googlemail.com>
Sat, 20 Dec 2014 01:35:38 +0000 (02:35 +0100)
commit8d3e46dda3783ba451942bf9708a6c1ef52ce9ff
tree04bb1df782300b114725b2395abc4ed3f0fb9b60
parente8dee350ade66a712144aebc8b5f4a8c989d43c0
Add CHECKs to prevent segfault for incorrect IMAGE_DATA layers.

Incomplete IMAGE_DATA layers cause a segmentation fault, e.g.:

layers {
  name: "mnist"
  type: IMAGE_DATA
  top: "data"
  top: "label"
  image_data_param {
    batch_size: 100
  }
  include: { phase: TRAIN }
}

or

layers {
  name: "mnist"
  type: IMAGE_DATA
  top: "data"
  top: "label"
  data_param {
    source: "./data/train.txt"
    batch_size: 100
  }
  include: { phase: TRAIN }
}

Also empty image list files cause a segfault.
This is fixed by adding 3 CHECK instructions.
src/caffe/layers/image_data_layer.cpp