q3vm icon indicating copy to clipboard operation
q3vm copied to clipboard

Q3VM - Single file (vm.c) bytecode virtual machine/interpreter for C-language input

Results 12 q3vm issues
Sort by recently updated
recently updated
newest added

is the vm.c code based on q3 sources? if not it should be possible to release it under a less restrictive license like MIT which would make this project a...

Based on the ioquake3 pull request by WolfWings: https://github.com/ioquake/ioq3/pull/255 The mixed indentation and 'break after expression' formatting in this code makes it a bit of a landmine, and is causing...

The C in RFC I mean literally. I want to improve the C compiler since for me writing C89 Code can be confusing at times. And we have to remember...

enhancement
help wanted

The double (64-bit) data type is silently converted to 32-bit floats in the Quake 3 VM. This is the default behaviour and probably won't be changed.

It would be great to add the Quake 3 JIT compiler (e.g. for x86 or ARM).

enhancement
help wanted
good first issue

If compiled with the DEBUG_VM define, the COM_Parse() function is using some global variables to parse strings in `vm.c`: - `com_token` - `com_lines` - `com_tokenline` This is probably not thread...

bug

# Summary This pull request introduces a CodeQL workflow to enhance the security analysis of this repository. # What is CodeQL CodeQL is a static analysis tool that helps identify...

When testing `bin/linux/q3cpp`: ``` valgrind bin/linux/q3cpp bg_lib.c > /dev/null ==32739== Memcheck, a memory error detector ==32739== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==32739== Using Valgrind-3.17.0...

Hello, during my research on this project, I noticed that `OP_CALL` handler does not check the bounds when saving `programCounter` into `image[programStack + 4]` (https://github.com/jnz/q3vm/blob/master/src/vm/vm.c#L1098). Combining this with `OP_ENTER` (to...

Hello, during my research on this project, I noticed that `opStack` variable is not zero-initialized (https://github.com/jnz/q3vm/blob/master/src/vm/vm.c#L873). This can lead to the memory disclosure issue. Ideally, `opStack` should be zeroed on...