diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-05-04 22:03:47 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-05-04 22:03:47 -0700 |
commit | 8f0e3f71dddb952c7c1e887011c367248d25b009 (patch) | |
tree | d311f38bba314f0815134c02dd4ed289a5925d25 | |
parent | 3cdc2c189166dd5dc5c760dc37b318aa1df16417 (diff) | |
download | txr-8f0e3f71dddb952c7c1e887011c367248d25b009.tar.gz txr-8f0e3f71dddb952c7c1e887011c367248d25b009.tar.bz2 txr-8f0e3f71dddb952c7c1e887011c367248d25b009.zip |
ffi: reject negative buf size.
* ffi.c (ffi_type_compile): Check for a negative buffer
size and throw.
-rw-r--r-- | ffi.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -1384,6 +1384,11 @@ val ffi_type_compile(val syntax) if3(sym == buf_s, ffi_buf_get, ffi_buf_d_get)); struct txr_ffi_type *tft = ffi_type_struct(type); + + if (nelem < 0) + uw_throwf(error_s, lit("~a: negative size in ~s"), + self, syntax, nao); + tft->alloc = ffi_buf_alloc; tft->free = ffi_noop_free; tft->nelem = nelem; |