<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Hi all,</div><div class=""><br class=""></div><div class="">It's quite a coincidence to see this proposal. I just joined this list a few days ago specifically to ask about the correct way to annotate allocation and freeing functions. <span style="color: rgb(0, 0, 0);" class="">I'll create a separate thread to ask questions about my specific situation but I wanted to add my support for this proposal here.</span></div><div class=""><font color="#000000" class=""><br class=""></font></div><div class=""><font color="#000000" class="">My main question is if there should be some way to specify the kind of allocation function. In the hardcoded AllocationFnData array, there is a field to specify if the function acts like malloc, new, calloc, realloc, etc. This could be added to the annotation but I think a better way would be to specify the actual properties of interest. Can it return null, does it align the allocation, and what are the values in the newly allocated space (undef for malloc, 0 for calloc, something unknown but defined for <span style="caret-color: rgb(0, 0, 0);" class="">strdup). This would also allow for creating new types of allocators that don't already exist.</span></font></div><div class=""><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class=""><br class=""></span></font></div><div class=""><font color="#000000" class="">I've created a patch with what this might look like for the existing hardcoded functions here: </font><a href="https://reviews.llvm.org/D116797" class="">https://reviews.llvm.org/D116797</a><font color="#000000" class="">. In my initial implementation, I realized that there are a lot of places where argument positions are hardcoded and special detection of strdup and strndup is hardcoded. Regardless of if we add the ability to specify these properties in attribute form or not, we will at least need to ensure that the correct arguments are used based on an allocsize annotation if <span style="caret-color: rgb(0, 0, 0);" class="">available</span>.</font></div><div class=""><font color="#000000" class=""><br class=""></font></div><div class="">
<div>Sincerely,<br class="">Bryce Michael Wilson</div></div><br class=""></div></div></body></html>