summaryrefslogtreecommitdiffstats
path: root/src/net/udp/slam.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/udp/slam.c')
-rw-r--r--src/net/udp/slam.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/net/udp/slam.c b/src/net/udp/slam.c
index 61dd7d98..c165b4fb 100644
--- a/src/net/udp/slam.c
+++ b/src/net/udp/slam.c
@@ -400,12 +400,16 @@ static int slam_pull_value ( struct slam_request *slam,
return -EINVAL;
}
- /* Read value */
+ /* Strip value */
iob_pull ( iobuf, len );
- *value = ( *data & 0x1f );
- while ( --len ) {
- *value <<= 8;
- *value |= *(++data);
+
+ /* Read value, if applicable */
+ if ( value ) {
+ *value = ( *data & 0x1f );
+ while ( --len ) {
+ *value <<= 8;
+ *value |= *(++data);
+ }
}
return 0;