Commit 7488705d45161fa8c6945a67570ac8d9fc2d7bfc

lhchavez 2021-03-04T06:19:49

Add guidelines for the GIT_WARN_UNUSED_RESULT annotation

diff --git a/include/git2/common.h b/include/git2/common.h
index 5f64a37..a6069e3 100644
--- a/include/git2/common.h
+++ b/include/git2/common.h
@@ -71,7 +71,18 @@ typedef size_t size_t;
 # define GIT_FORMAT_PRINTF(a,b) /* empty */
 #endif
 
-/** Declare that a function's return value must be used. */
+/**
+ * Declare that a function's return value must be used.
+ *
+ * Used mostly to guard against potential silent bugs at runtime. This is
+ * recommended to be added to functions that:
+ *
+ * - Allocate / reallocate memory. This prevents memory leaks or errors where
+ *   buffers are expected to have grown to a certain size, but could not be
+ *   resized.
+ * - Acquire locks. When a lock cannot be acquired, that will almost certainly
+ *   cause a data race / undefined behavior.
+ */
 #if defined(__GNUC__)
 # define GIT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
 #else