|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
From 0a7c084603663a1e63b01bd677429a20bc7d4c62 Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
Date: Mon, 1 Jul 2013 15:57:44 +0200
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
Subject: [PATCH] scsi-lowlevel: do not use unsafe pointer casts
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
Casting unsigned char * pointers to uint32_t * may cause wrong
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
results if the pointers are not correctly aligned. Instead,
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
build up the big-endian values from each byte with multiple
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
dereferences of the original pointer.
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
---
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
lib/scsi-lowlevel.c | 36 +++++++++++++++++++++---------------
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
1 file changed, 21 insertions(+), 15 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
diff --git a/lib/scsi-lowlevel.c b/lib/scsi-lowlevel.c
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
index ad94eef..37f41d5 100644
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
--- a/lib/scsi-lowlevel.c
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+++ b/lib/scsi-lowlevel.c
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
@@ -212,10 +212,10 @@ scsi_get_uint64(const unsigned char *c)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
{
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
uint64_t val;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- val = ntohl(*(uint32_t *)c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ val = scsi_get_uint32(c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
val <<= 32;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
c += 4;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- val |= ntohl(*(uint32_t *)c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ val |= scsi_get_uint32(c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
return val;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
}
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
@@ -223,13 +223,21 @@ scsi_get_uint64(const unsigned char *c)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
inline uint32_t
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
scsi_get_uint32(const unsigned char *c)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
{
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- return ntohl(*(uint32_t *)c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ uint32_t val;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ val = c[0];
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ val = (val << 8) | c[1];
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ val = (val << 8) | c[2];
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ val = (val << 8) | c[3];
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ return val;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
}
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
inline uint16_t
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
scsi_get_uint16(const unsigned char *c)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
{
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- return ntohs(*(uint16_t *)c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ uint16_t val;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ val = c[0];
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ val = (val << 8) | c[1];
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ return val;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
}
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
static inline uint64_t
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
@@ -237,14 +245,8 @@ task_get_uint64(struct scsi_task *task, int offset)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
{
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
if (offset <= task->datain.size - 8) {
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
const unsigned char *c = &task->datain.data[offset];
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- uint64_t val;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- val = ntohl(*(uint32_t *)c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- val <<= 32;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- c += 4;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- val |= ntohl(*(uint32_t *)c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
-
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- return val;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ return scsi_get_uint64(c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
} else {
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
}
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
@@ -256,7 +258,7 @@ task_get_uint32(struct scsi_task *task, int offset)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
if (offset <= task->datain.size - 4) {
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
const unsigned char *c = &task->datain.data[offset];
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- return ntohl(*(uint32_t *)c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ return scsi_get_uint32(c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
} else {
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
}
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
@@ -268,7 +270,7 @@ task_get_uint16(struct scsi_task *task, int offset)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
if (offset <= task->datain.size - 2) {
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
const unsigned char *c = &task->datain.data[offset];
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- return ntohs(*(uint16_t *)c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ return scsi_get_uint16(c);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
} else {
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
}
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
@@ -300,13 +302,17 @@ scsi_set_uint64(unsigned char *c, uint64_t v)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
inline void
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
scsi_set_uint32(unsigned char *c, uint32_t val)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
{
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- *(uint32_t *)c = htonl(val);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ c[0] = val >> 24;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ c[1] = val >> 16;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ c[2] = val >> 8;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ c[3] = val;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
}
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
inline void
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
scsi_set_uint16(unsigned char *c, uint16_t val)
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
{
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
- *(uint16_t *)c = htons(val);
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ c[0] = val >> 8;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
+ c[1] = val;
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
}
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
/*
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
--
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
1.8.1.4
|
|
![](https://seccdn.libravatar.org/avatar/b58b3d205f0c82b289646cc4d253a4ca9ebdbbfea8dc7d471e83622d74741b05?s=16&d=retro) |
5228e3e |
|