From 011cb4e9c2ac5d5de54b9f1f2243854a4870dbc0 Mon Sep 17 00:00:00 2001
From: Per Hedbor <ph@opera.com>
Date: Tue, 23 Sep 2014 16:14:26 +0200
Subject: [PATCH] Fixed error in F_SIZEOF_LOCAL_STRING when the argument is not
 actually a string

---
 src/code/amd64.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/code/amd64.c b/src/code/amd64.c
index 159fe5ad2e..84468114ab 100644
--- a/src/code/amd64.c
+++ b/src/code/amd64.c
@@ -3593,9 +3593,11 @@ void ins_f_byte_with_arg(unsigned int a, INT32 b)
       je( &label_B );
       /* It's something else, svalue already in ARG1. */
       amd64_call_c_function( pike_sizeof );
+      jmp( label_A );
       LABEL_B;
       mov_mem32_reg( P_REG_RBX,OFFSETOF(pike_string, len ), P_REG_RAX );
       /* Store result on stack */
+      LABEL_A;
       amd64_push_int_reg( P_REG_RAX );
     }
     return;
-- 
GitLab