summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brown2009-05-20 09:54:41 +0200
committerMichael Brown2009-05-20 09:55:48 +0200
commitc5a88ed553c3cb41596b93134f2979dc82937bd8 (patch)
tree31f552926a12d26b7614c46eac80a5d4e46570b7 /src
parent[dhcp] Send broadcast PXE boot server discovery requests to port 67 (diff)
downloadipxe-c5a88ed553c3cb41596b93134f2979dc82937bd8.tar.gz
ipxe-c5a88ed553c3cb41596b93134f2979dc82937bd8.tar.xz
ipxe-c5a88ed553c3cb41596b93134f2979dc82937bd8.zip
[settings] Fix erroneous bit-masking in fetch_uintz_setting()
Diffstat (limited to 'src')
-rw-r--r--src/core/settings.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/settings.c b/src/core/settings.c
index 3a58e39b1..43b463a5c 100644
--- a/src/core/settings.c
+++ b/src/core/settings.c
@@ -544,7 +544,8 @@ int fetch_uint_setting ( struct settings *settings, struct setting *setting,
return len;
/* Mask off sign-extended bits */
- *value = ( svalue & ( -1UL >> ( sizeof ( long ) - len ) ) );
+ assert ( len <= ( int ) sizeof ( long ) );
+ *value = ( svalue & ( -1UL >> ( 8 * ( sizeof ( long ) - len ) ) ) );
return len;
}