mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-15 01:37:53 +00:00
lib: Allow memory to be cleaned up for error cases in ptm
ptm_lib.c had no way to cleanup after itself when an error was detected. This adds a function to cleanup context in such a case. A followup commit will use this new functionality. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
d17ea5225b
commit
b5f270ad09
@ -223,6 +223,25 @@ int ptm_lib_init_msg(ptm_lib_handle_t *hdl, int cmd_id, int type, void *in_ctxt,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ptm_lib_cleanup_msg(ptm_lib_handle_t *hdl, void *ctxt)
|
||||
{
|
||||
ptm_lib_msg_ctxt_t *p_ctxt = ctxt;
|
||||
csv_t *csv;
|
||||
|
||||
if (!p_ctxt) {
|
||||
ERRLOG("%s: no context \n", __FUNCTION__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
csv = p_ctxt->csv;
|
||||
|
||||
csv_clean(csv);
|
||||
csv_free(csv);
|
||||
free(p_ctxt);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ptm_lib_complete_msg(ptm_lib_handle_t *hdl, void *ctxt, char *buf, int *len)
|
||||
{
|
||||
ptm_lib_msg_ctxt_t *p_ctxt = ctxt;
|
||||
|
@ -63,5 +63,6 @@ int ptm_lib_find_key_in_msg(void *, const char *, char *);
|
||||
int ptm_lib_init_msg(ptm_lib_handle_t *, int, int, void *, void **);
|
||||
int ptm_lib_append_msg(ptm_lib_handle_t *, void *, const char *, const char *);
|
||||
int ptm_lib_complete_msg(ptm_lib_handle_t *, void *, char *, int *);
|
||||
int ptm_lib_cleanup_msg(ptm_lib_handle_t *, void *);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user