summaryrefslogtreecommitdiffstats
path: root/inc/dnbd3
diff options
context:
space:
mode:
Diffstat (limited to 'inc/dnbd3')
-rw-r--r--inc/dnbd3/afl.h4
-rw-r--r--inc/dnbd3/types.h7
2 files changed, 5 insertions, 6 deletions
diff --git a/inc/dnbd3/afl.h b/inc/dnbd3/afl.h
new file mode 100644
index 0000000..071293f
--- /dev/null
+++ b/inc/dnbd3/afl.h
@@ -0,0 +1,4 @@
+#ifdef DNBD3_SERVER_AFL
+#define send(a,b,c,d) write((a) == 0 ? 1 : (a), b, c)
+#define recv(a,b,c,d) read(a, b, c)
+#endif
diff --git a/inc/dnbd3/types.h b/inc/dnbd3/types.h
index bd15f4e..27dcbf7 100644
--- a/inc/dnbd3/types.h
+++ b/inc/dnbd3/types.h
@@ -71,11 +71,6 @@
#include <netinet/in.h>
#endif
-#ifdef DNBD3_SERVER_AFL
-#define send(a,b,c,d) write(a,b,c)
-#define recv(a,b,c,d) read(a,b,c)
-#endif
-
// ioctl
#define DNBD3_MAGIC 'd'
@@ -161,7 +156,7 @@ typedef struct __attribute__((packed))
uint16_t cmd; // 2byte
uint32_t size; // 4byte
union {
- struct {
+ struct __attribute__((packed)) {
#ifdef DNBD3_LITTLE_ENDIAN
uint64_t offset_small:56; // 7byte
uint8_t hops; // 1byte