malloc does not initialize the memory to zero, so sass_context *ctx = sass_new_context() will create a context with a random value in ctx->output_string. If sass_free_context(ctx) was called immediately thereafter, ctx->output_string would have a random value and the result of the free(ctx->output_string) would be undefined. In the worst case, this corrupts the heap and the process dies much much later. Also, free isn't delete and mustn't be called with a NULL pointer.
| Name |
Last commit
|
Last update |
|---|---|---|
| .gitignore | Loading commit data... | |
| LICENSE | Loading commit data... | |
| Makefile | Loading commit data... | |
| Readme.md | Loading commit data... | |
| context.cpp | Loading commit data... | |
| context.hpp | Loading commit data... | |
| css_color_names.txt | Loading commit data... | |
| document.cpp | Loading commit data... | |
| document.hpp | Loading commit data... | |
| document_parser.cpp | Loading commit data... | |
| error.hpp | Loading commit data... | |
| eval_apply.cpp | Loading commit data... | |
| eval_apply.hpp | Loading commit data... | |
| extconf.rb | Loading commit data... | |
| functions.cpp | Loading commit data... | |
| functions.hpp | Loading commit data... | |
| node.cpp | Loading commit data... | |
| node.hpp | Loading commit data... | |
| node_comparisons.cpp | Loading commit data... | |
| prelexer.cpp | Loading commit data... | |
| prelexer.hpp | Loading commit data... | |
| sass_interface.cpp | Loading commit data... | |
| sass_interface.h | Loading commit data... | |
| values.cpp | Loading commit data... | |
| values.hpp | Loading commit data... |