Fix 'zpool create' segfault due to bad syntax
Incorrect syntax should never cause a segfault. In this case listing multiple comma delimited options after '-o' triggered the problem. For example: zpool create -o ashift=12,listsnaps=on This patch resolves the issue by wrapping the calls which use hdr with a NULL test. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #1118
This commit is contained in:
parent
2957f38d78
commit
53c2ec1d1b
|
@ -1297,8 +1297,9 @@ str2shift(libzfs_handle_t *hdl, const char *buf)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (i == strlen(ends)) {
|
if (i == strlen(ends)) {
|
||||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
if (hdl)
|
||||||
"invalid numeric suffix '%s'"), buf);
|
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||||
|
"invalid numeric suffix '%s'"), buf);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1313,8 +1314,9 @@ str2shift(libzfs_handle_t *hdl, const char *buf)
|
||||||
buf[3] == '\0'))))
|
buf[3] == '\0'))))
|
||||||
return (10*i);
|
return (10*i);
|
||||||
|
|
||||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
if (hdl)
|
||||||
"invalid numeric suffix '%s'"), buf);
|
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||||
|
"invalid numeric suffix '%s'"), buf);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue