Fix layer name crash when reading from the standard input

This commit is contained in:
Eric Fischer 2015-03-25 14:07:34 -07:00
parent e95cc82678
commit fd8de691eb

View File

@ -671,13 +671,17 @@ int read_json(int argc, char **argv, char *fname, const char *layername, int max
char *layernames[nlayers];
for (i = 0; i < nlayers; i++) {
if (argc == 1 && layername != NULL) {
if (argc <= 1 && layername != NULL) {
layernames[i] = strdup(layername);
} else {
char *trunc = layernames[i] = malloc(strlen(argv[i]) + 1);
char *src = argv[i];
if (argc < 1) {
src = fname;
}
const char *ocp, *use = argv[i];
for (ocp = argv[i]; *ocp; ocp++) {
char *trunc = layernames[i] = malloc(strlen(src) + 1);
const char *ocp, *use = src;
for (ocp = src; *ocp; ocp++) {
if (*ocp == '/' && ocp[1] != '\0') {
use = ocp + 1;
}