Skip to content
Snippets Groups Projects
  1. Jun 14, 2020
  2. Jun 13, 2020
  3. Jun 12, 2020
  4. Jun 10, 2020
  5. Jun 09, 2020
  6. May 07, 2020
  7. Apr 13, 2020
  8. Feb 15, 2020
    • Edward Larson's avatar
      Remove bounds check on ppc branch instructions target address (fix issue 423) (#428) · 4d060561
      Edward Larson authored
      (cherry picked from commit 06afb493e09cb7591fedf17cc5b06f9a865b385c)
      Unverified
      4d060561
    • turekt's avatar
      Update keystone-binding.go to fix issue #363 (#426) · ccbb743b
      turekt authored
      When trying to execute `make install` inside the go binding sample, the output shows an error that is specified by guitmz in issue #363 
      
      Adding the missing cgo LDFLAGS resolves this issue.
      Unverified
      ccbb743b
    • Daniel Henry-Mantilla's avatar
      Fix Rust bindings (#437) · 27d86048
      Daniel Henry-Mantilla authored
      - A bool coming from C cannot be trusted; functionally it is a c_int,
          and conversion to bool must be done by comparing to 0;
      
        - similarly, a `#[repr(C)]` enum cannot be trusted to be a `u32`;
          it is more often than not a `c_int`. This could cause breakage with
          the ABI of the C functions of the binding. So the signatures and
          enum definitions have been adapted based on the
          `include/keystone/keystone.h` definitions.
      
        - and most importantly: a ks_handle is a `ks_engine *` in C parlance,
          and using `size_t` to represent it is not the right way. Moreover,
          so doing prevents the `Sync` and `Send` traits from being
          auto-unimplemented, meaning that this is implicitly asserting that
          keystone is multithread-safe, even for the same instance. If that is
          the case, then a `unsafe impl Sync for Keystone {}` (ditto for
          `Send`) should be added to make such assertion explicit.
      
          That's why an opaque type using the classic Rust idiom of a
          zero_sized #[repr(C)] struct has been made (while waiting for Rust
          to feature external types), and `Option<ptr::NonNull<_>>` is being
          used as the pointer type (equivalent to *mut _), but it allows to
          communicate nullable / non-nullable invariants at the type-level.
          This has then been transposed to the internals of keystone-rs.
      Unverified
      27d86048
    • Phoebe's avatar
      Add vcpkg installation instructions (#449) · 343fbe0e
      Phoebe authored
      Unverified
      343fbe0e
  9. Dec 31, 2019
  10. Nov 22, 2019
  11. Aug 02, 2019
Loading