Use g_try_malloc/g_free/g_strdup consistently.
Avoid plain malloc()/free() in sr/srd, especially in the API calls.
Also avoid g_malloc*() in favor of g_try_malloc*().
Use g_strdup() instead of strdup() so that we can use g_free()
consistently everywhere.
Exceptions: Stuff that is allocated via other libs (not using glib),
should also be properly free'd using the respective free-ing function
(instead of g_free()). Examples: Stuff allocated by libusb, libftdi, etc.
Also, use sr_err() instead of sr_warn() for actual errors. sr_warn() is
meant for non-fatal/uncritical warnings.
diff --git a/util.c b/util.c
index 27a5e07..cd77fc1 100644
--- a/util.c
+++ b/util.c
@@ -156,7 +156,7 @@
/**
* Convert a Python list of unicode strings to a NULL-terminated UTF8-encoded
- * char * array. The caller must free each string when finished.
+ * char * array. The caller must g_free() each string when finished.
*
* @param py_strlist The list object.
* @param outstr ptr to char ** storage to be filled in.