minor bugfixes with debug info
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Thu, 15 Dec 2022 02:01:04 +0000 (20:01 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Thu, 15 Dec 2022 02:01:04 +0000 (20:01 -0600)
interpreter/src/debug/debug_runtime_values.c
interpreter/src/debug/debug_thread.c
misc/vscode/out/ovmDebug.js
misc/vscode/ovmDebug.ts
shared/lib/linux_x86_64/lib/libovmwasm.so

index 256834544d9c6bd9cceb1e48208b102e99619af9..bc75fbd30fe1ac6b84671f5e5d210401f721ac84 100644 (file)
@@ -419,8 +419,8 @@ static u32 get_subvalues_for_type(debug_runtime_value_builder_t *builder, u32 ty
                 count = *ptr_loc;
             }
 
-            if (count > MAX_SLICE_LENGTH * 4) {
-                count = MAX_SLICE_LENGTH * 4;
+            if (count > MAX_SLICE_LENGTH) {
+                count = MAX_SLICE_LENGTH;
             }
 
             return count;
index 40ffd16bb63f9775051bd0242f053f034682ec39..eee4ec6036cdee9d0b28fb7f854f5c313df556b6 100644 (file)
@@ -565,7 +565,6 @@ void *__debug_thread_entry(void * data) {
         }
 
         if (debug->send_buffer.length > 0) {
-            send(debug->client_fd, &debug->send_buffer.length, sizeof(i32), 0);
             send(debug->client_fd, debug->send_buffer.data, debug->send_buffer.length, 0);
             bh_buffer_clear(&debug->send_buffer);
         }
index f6edc2cf2203a398604d5333c1f3985e96a48d44..058e3dcd16750f2a5e7b4e1c09ea27b2ab4d3d4e 100644 (file)
@@ -593,6 +593,9 @@ class DataParser {
         let len = this.parseUint32();
         let str = "";
         for (let i = 0; i < len; i++) {
+            if (this.offset + i >= this.data.length) {
+                break;
+            }
             str += String.fromCharCode(this.view.getUint8(this.offset + i));
         }
         this.offset += len;
index 00c8c2529f62030d381590f35383076150fcf337..940f68c628cf734a88fd3676077fe1133d459425 100644 (file)
@@ -807,6 +807,10 @@ class DataParser {
         let len = this.parseUint32();
         let str = "";
         for (let i=0; i<len; i++) {
+                       if (this.offset + i >= this.data.length) {
+                               break;
+                       }
+
             str += String.fromCharCode(this.view.getUint8(this.offset + i));
         }
         this.offset += len;
index 7d688d2ee916272efd51ac5a5ce4de0e86ed1f3e..f9bd9f9740a8e6da52ad2b4ba01821c39d6adfd0 100755 (executable)
Binary files a/shared/lib/linux_x86_64/lib/libovmwasm.so and b/shared/lib/linux_x86_64/lib/libovmwasm.so differ