<p>Are you aware that its possible for distributions or others to build with G_DISABLE_CHECKS and the <code>g_return_val_if_failed</code> will be removed, so the function will crash on some poor user if their actions happen to result in the function being called with a NULL?</p>
<p>Your documentation for the function doesn't disallow NULL, so you always need to reject it.  Probably better to use an if and <code>g_warning</code> or g_critical` for the message, which can be made to crash for easier debugging by setting G_DEBUG.</p>
<p>There have been some spirited Geany discussions about the "right" way to use these Glib debugging macros (IMHO there is none if the macro can be compiled out, unless you can prove by analysis or exhaustive testing that the failure cannot occur to the above mentioned innocent user, but if you can do that you don't need the test in the first place).  Its certainly the case that Geany itself is still subject to the problem referred to above.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany-plugins/commit/109b8d079a59ba35e8aba5da960fc5b10f03ea7f#commitcomment-23741318">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ8X6rcUmllcbR_XkEURP7e2SWNTJks5sZthdgaJpZM4O8Uoj">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ4T9u7Olu7gE7l8904KVpyS9Llzkks5sZthdgaJpZM4O8Uoj.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany-plugins/commit/109b8d079a59ba35e8aba5da960fc5b10f03ea7f#commitcomment-23741318"></link>
  <meta itemprop="name" content="View Commit"></meta>
</div>
<meta itemprop="description" content="View this Commit on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany-plugins","title":"geany/geany-plugins","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany-plugins"}},"updates":{"snippets":[{"icon":"PERSON","message":"@elextr on 109b8d0: Are you aware that its possible for distributions or others to build with G_DISABLE_CHECKS and the `g_return_val_if_failed` will be removed, so the function will crash on some poor user if their actions happen to result in the function being called with a NULL? \r\n\r\nYour documentation for the function doesn't disallow NULL, so you always need to reject it.  Probably better to use an if and `g_warning` or g_critical` for the message, which can be made to crash for easier debugging by setting G_DEBUG.\r\n\r\nThere have been some spirited Geany discussions about the \"right\" way to use these Glib debugging macros (IMHO there is none if the macro can be compiled out, unless you can prove by analysis or exhaustive testing that the failure cannot occur to the above mentioned innocent user, but if you can do that you don't need the test in the first place).  Its certainly the case that Geany itself is still subject to the problem referred to above."}],"action":{"name":"View Commit","url":"https://github.com/geany/geany-plugins/commit/109b8d079a59ba35e8aba5da960fc5b10f03ea7f#commitcomment-23741318"}}}</script>