mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-15 07:21:59 +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;
|
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)
|
int ptm_lib_complete_msg(ptm_lib_handle_t *hdl, void *ctxt, char *buf, int *len)
|
||||||
{
|
{
|
||||||
ptm_lib_msg_ctxt_t *p_ctxt = ctxt;
|
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_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_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_complete_msg(ptm_lib_handle_t *, void *, char *, int *);
|
||||||
|
int ptm_lib_cleanup_msg(ptm_lib_handle_t *, void *);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user