{"push_id":2104481587,"size":11,"distinct_size":11,"ref":"refs/heads/master","head":"261aacbce9ce0adef633940e88702103e8aef3a6","before":"7f986ec2c831bbc6be6b21c231f1662b614cacea","commits":[{"sha":"4764ab93c7de3785cbdc7be76a69c0166b022b7a","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Test strings with checked types and initialized checked data. (#208)\n\nThis change corresponds to a matching compiler that adds support for string literals with checked types and completes support for initialized checked data.   The language rules for string and array literals are discussed in issue #207 (they haven't been added to the Checked C specification yet).\r\n\r\nThe compiler change also improves error messages for types that occur syntactically in expressions and are used in checked scopes.  Those types must be checked and everything they use must be checked too.   This change updates checked_scope_basic.c to use new error messages.\r\n\r\nTesting:\r\n- Passes automated testing with the updated compiler.","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/4764ab93c7de3785cbdc7be76a69c0166b022b7a"},{"sha":"3ae1fa1469773435a2d90226ddb6e5bac4c14298","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Include null terminators in the number of elements for null-terminated arrays. (#210)\n\nThe Checked C specification proposed omitting the null terminator from the number of elements in a null-terminated array.   This would allow the count of elements to be identical for both the array and the bounds for an `nt_array_ptr`.  However, this is not how null-terminated string literals work in C.    String literals have an array type that includes the null terminator element in the size of the array.\r\n\r\nTo match existing C behavior, we now include the null terminator in the size of null-terminated checked arrays.  This updates the specification accordingly.","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/3ae1fa1469773435a2d90226ddb6e5bac4c14298"},{"sha":"ac4f72f8491353e2d723402f0b39fc86c0ff1269","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Replace bounds(none) with bounds(unknown) (#209)\n\nThe bounds expression bounds(none) has a potentially ambiguous English meaning.   The bounds could be unbounded or be unknown.  This replaces the bounds expression bounds(none) with bounds(unknown) in the specification.  This is mostly a search-and-replace of the boundsnone macro.  I also updated the text that defines the meaning of the bounds expression.","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/ac4f72f8491353e2d723402f0b39fc86c0ff1269"},{"sha":"fb1fc3dd324a7f125d48761ad826ba47b5714242","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Test bounds checking for null-terminated pointers. (#211)\n\nChecked C allows reads at exactly the upper bound for null-terminated pointers\r\nso that the potential terminating value can be examined.\r\n\r\nThis change adds new dynamic tests that check  that the memory location at\r\nthe upper bound is accessible for null-terminated array pointers, and not\r\naccessible for non-null-terminated array pointers.","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/fb1fc3dd324a7f125d48761ad826ba47b5714242"},{"sha":"6cd056bb8baf1a2d012926d1ef69c17166c7bb9f","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Update error messages that include checked array type names. (#212)\n\nThe compiler was using the keywords `checked` and `nt_checked` when it should have used the full names `_Checked` and `_Nt_checked`.","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/6cd056bb8baf1a2d012926d1ef69c17166c7bb9f"},{"sha":"3d8024ca7adc7c1cf26b6202e9588a1b2c9f854d","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Rename bounds(none) to bounds(unknown). (#213)\n\nThis change goes with a matching compiler change.   Update the Checked C tests to match the specification.","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/3d8024ca7adc7c1cf26b6202e9588a1b2c9f854d"},{"sha":"eebfc64ee1046e55b79afc7ca1ec86abd5cf30fb","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Add examples of using null-terminated strings. (#219)\n\nThis adds examples of using null-terminated strings adapted from the \"The C Programming Language, Second Edition\" by Kernighan and Ritchie. The code illustrates some basic aspects of using strings, as well as the sometimes trickier aspects of writing to a string.\r\n\r\nI plan to clean up the code once the compiler change for making count(0) be the default bounds for nt_array_ptr is complete.\r\n\r\n\r\n\r\nI plan to clean up the code once the compiler change for making count(0) be the default bounds for nt_array_ptr is complete.","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/eebfc64ee1046e55b79afc7ca1ec86abd5cf30fb"},{"sha":"166f9f894034e8baf3e3b82ecddffe31b561527b","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Test default bounds for null-terminated array pointers (#220)\n\nNull-terminated array pointers have a default bounds of count(0).   This adds tests of bounds checking and type checking for null-terminated array pointers with programmer-specified bounds and default bounds.   This change matches a corresponding clang compiler change (https://github.com/Microsoft/checkedc-clang/pull/406).\r\n\r\nThere need to be additional tests added of struct members with default bounds of count(0).  \r\n\r\nWhen bounds are not declared for an nt_array_ptr variable or member, the\r\nbounds are inferred to be count(0).  This differs from array_ptr, where the\r\nbounds are assumed to be bounds(unknown).\r\n\r\nnt_array_ptr values returned by pointer dereference or array subscript\r\noperations are also assumed to have count(0).   nt_array_ptr values\r\nstored via pointer dereference or array_subscript operations must\r\nalso imply bounds of count(0).\r\n\r\nThis change adds tests that check that bounds inference is inferring\r\ndefault bounds as expected.  Because we have weak static checking of bounds\r\ndeclarations, we only check that expressions involving nt_array_ptr variables\r\nhave known bounds as expected.\r\n\r\n* Test redeclarations that provides same as default bounds.\r\n\r\n* Add missing initializers discovered by setting default bounds earlier.","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/166f9f894034e8baf3e3b82ecddffe31b561527b"},{"sha":"22c3006df37b4d4a13d36bc44e3d2de3884e7b46","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Add another example of using strings and add string support to stdio_checked.h. (#222)\n\nThe example is adapted from a simple \"pattern finding\" program from \"The C Programming Language, Second Edition\", by Kernighan and Ritchie.  The example uses only checked code.    The example does output using fputs; I updated fputs and the rest of stdio_checked.h with annotations for strings.","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/22c3006df37b4d4a13d36bc44e3d2de3884e7b46"},{"sha":"96d639b1e38ac775c5729e46810385cf1a4bc523","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Update overlooked test for default bounds for null-terminated array pointers. (#225)","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/96d639b1e38ac775c5729e46810385cf1a4bc523"},{"sha":"261aacbce9ce0adef633940e88702103e8aef3a6","author":{"name":"David Tarditi","email":"db1f6e05b701d1a813681870e2c288e8cdc02650@microsoft.com"},"message":"Use null-terminated array pointers in checked wrappers for C standard libraries (#229)\n\nThis change updates our checked wrappers for C standard libraries to use null-terminated array pointers for strings.\r\n- I expanded the list of string functions and had to disable more optimized macros for GCC.\r\n- In cases where I could make some parameters a function checked, but not other parameters checked,\r\nI went ahead and did that.  This include functions such as `strcat` and `strncat`.   The fact that the destination buffer has an unchecked pointer type should be a warning to programmers trying to use them.\r\n- For `strncat`, we have no way of expressing the bounds requirement in checked code, because the bounds requirement involves a function call.\r\n\r\nTesting:\r\n- Passed automated testing, including LNT testing.","distinct":true,"url":"https://api.github.com/repos/lenary/checkedc/commits/261aacbce9ce0adef633940e88702103e8aef3a6"}]}
{"actor":{"display_login":"lenary"}}