diff options
author | Mimi Zohar <zohar@linux.vnet.ibm.com> | 2011-09-16 08:50:30 -0400 |
---|---|---|
committer | Mimi Zohar <zohar@linux.vnet.ibm.com> | 2011-09-21 08:27:43 -0400 |
commit | 8c35ad20270de91d0f3bfe521daa3b7983ee8db7 (patch) | |
tree | 49422eea35b4d856bd11aa4ae11387728b678fff /drivers/target/target_core_fabric_lib.c | |
parent | 2b3ff6319e2312656fbefe0209bef02d58b6836a (diff) | |
download | linux-stable-8c35ad20270de91d0f3bfe521daa3b7983ee8db7.tar.gz linux-stable-8c35ad20270de91d0f3bfe521daa3b7983ee8db7.tar.bz2 linux-stable-8c35ad20270de91d0f3bfe521daa3b7983ee8db7.zip |
target: check hex2bin result
Now that hex2bin does error checking, on error add debugging error msg.
Changelog v1 (update):
- fixed definition of 'ret'
- hex2bin now returns an int
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Diffstat (limited to 'drivers/target/target_core_fabric_lib.c')
-rw-r--r-- | drivers/target/target_core_fabric_lib.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/target/target_core_fabric_lib.c b/drivers/target/target_core_fabric_lib.c index c4ea3a9a555b..39f021b855ef 100644 --- a/drivers/target/target_core_fabric_lib.c +++ b/drivers/target/target_core_fabric_lib.c @@ -63,6 +63,7 @@ u32 sas_get_pr_transport_id( unsigned char *buf) { unsigned char *ptr; + int ret; /* * Set PROTOCOL IDENTIFIER to 6h for SAS @@ -74,7 +75,9 @@ u32 sas_get_pr_transport_id( */ ptr = &se_nacl->initiatorname[4]; /* Skip over 'naa. prefix */ - hex2bin(&buf[4], ptr, 8); + ret = hex2bin(&buf[4], ptr, 8); + if (ret < 0) + pr_debug("sas transport_id: invalid hex string\n"); /* * The SAS Transport ID is a hardcoded 24-byte length @@ -156,8 +159,9 @@ u32 fc_get_pr_transport_id( unsigned char *buf) { unsigned char *ptr; - int i; + int i, ret; u32 off = 8; + /* * PROTOCOL IDENTIFIER is 0h for FCP-2 * @@ -174,7 +178,9 @@ u32 fc_get_pr_transport_id( i++; continue; } - hex2bin(&buf[off++], &ptr[i], 1); + ret = hex2bin(&buf[off++], &ptr[i], 1); + if (ret < 0) + pr_debug("fc transport_id: invalid hex string\n"); i += 2; } /* |