diff options
author | Toomas Soome <tsoome@me.com> | 2021-10-13 14:03:01 +0300 |
---|---|---|
committer | Toomas Soome <tsoome@me.com> | 2021-10-16 01:15:40 +0300 |
commit | 9e494b8a787c7b2d9fd087a2dde8811e386513d4 (patch) | |
tree | 656ebdcaa1e8faccf5453a381d58eaa59a53799a | |
parent | 907871a5ae311c723efe7b9326f22ac3303eb0ed (diff) | |
download | illumos-gate-9e494b8a787c7b2d9fd087a2dde8811e386513d4.tar.gz |
14153 libzfs: str2shift called with NULL handle can crash
Reviewed by: Andy Fiddaman <andy@omnios.org>
Reviewed by: Yuri Pankov <ypankov@tintri.com>
Approved by: Robert Mustacchi <rm@fingolfin.org>
-rw-r--r-- | usr/src/lib/libzfs/common/libzfs_util.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/usr/src/lib/libzfs/common/libzfs_util.c b/usr/src/lib/libzfs/common/libzfs_util.c index 40101befaf..c21159c310 100644 --- a/usr/src/lib/libzfs/common/libzfs_util.c +++ b/usr/src/lib/libzfs/common/libzfs_util.c @@ -1155,8 +1155,9 @@ str2shift(libzfs_handle_t *hdl, const char *buf) break; } if (i == strlen(ends)) { - zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, - "invalid numeric suffix '%s'"), buf); + if (hdl != NULL) + zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, + "invalid numeric suffix '%s'"), buf); return (-1); } @@ -1166,10 +1167,11 @@ str2shift(libzfs_handle_t *hdl, const char *buf) */ if (buf[1] == '\0' || (toupper(buf[1]) == 'B' && buf[2] == '\0' && toupper(buf[0]) != 'B')) - return (10*i); + return (10 * i); - zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, - "invalid numeric suffix '%s'"), buf); + if (hdl != NULL) + zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, + "invalid numeric suffix '%s'"), buf); return (-1); } |