aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_load.c
diff options
context:
space:
mode:
authorAnthony Ramine <[email protected]>2013-04-28 13:50:27 +0200
committerAnthony Ramine <[email protected]>2013-04-30 10:11:17 +0200
commit691f8f7f180e970aea155d1741cd9f5e66741a20 (patch)
tree5a4b73ef2fe2ee8e3662d919c56012aea9222d68 /erts/emulator/beam/beam_load.c
parent38974713b1527c08b71cefe4b5300b6f01c2579d (diff)
downloadotp-691f8f7f180e970aea155d1741cd9f5e66741a20.tar.gz
otp-691f8f7f180e970aea155d1741cd9f5e66741a20.tar.bz2
otp-691f8f7f180e970aea155d1741cd9f5e66741a20.zip
Fix some sign warnings found with Clang
Diffstat (limited to 'erts/emulator/beam/beam_load.c')
-rw-r--r--erts/emulator/beam/beam_load.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c
index bd4e5a52d0..4193eb4f3f 100644
--- a/erts/emulator/beam/beam_load.c
+++ b/erts/emulator/beam/beam_load.c
@@ -2964,19 +2964,19 @@ gen_put_integer(LoaderState* stp, GenOpArg Fail, GenOpArg Size,
NEW_GENOP(stp, op);
NATIVE_ENDIAN(Flags);
- if (Size.type == TAG_i && Size.val < 0) {
- error:
/* Negative size must fail */
- op->op = genop_badarg_1;
- op->arity = 1;
- op->a[0] = Fail;
- } else if (Size.type == TAG_i) {
+ if (Size.type == TAG_i) {
op->op = genop_i_new_bs_put_integer_imm_4;
op->arity = 4;
op->a[0] = Fail;
op->a[1].type = TAG_u;
if (!safe_mul(Size.val, Unit.val, &op->a[1].val)) {
- goto error;
+ error:
+ op->op = genop_badarg_1;
+ op->arity = 1;
+ op->a[0] = Fail;
+ op->next = NULL;
+ return op;
}
op->a[1].val = Size.val * Unit.val;
op->a[2].type = Flags.type;