Navigation


Changeset 1546:c48725959e63 in freeDiameter


Ignore:
Timestamp:
Jun 16, 2020, 3:33:03 AM (4 years ago)
Author:
Thomas Klausner <tk@giga.or.at>
Branch:
default
Phase:
public
Message:

rt_ereg: improve memory handling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/rt_ereg/rtereg.c

    r1387 r1546  
    191191                                        /* Augment the buffer if needed */
    192192                                        if (avp_hdr->avp_value->os.len >= bufsz) {
    193                                                 CHECK_MALLOC_DO( buf = realloc(buf, avp_hdr->avp_value->os.len + 1),
     193                                                char *newbuf;
     194                                                CHECK_MALLOC_DO( newbuf = realloc(buf, avp_hdr->avp_value->os.len + 1),
    194195                                                        { pthread_mutex_unlock(&mtx); return ENOMEM; } );
     196                                                /* Update buffer and buffer size */
     197                                                buf = newbuf;
     198                                                bufsz = avp_hdr->avp_value->os.len + 1;
    195199                                        }
    196200
     
    320324{
    321325        /* Initialize the configuration */
    322         if ((rtereg_conf=malloc(sizeof(*rtereg_conf))) == NULL) {
     326        if ((rtereg_conf=calloc(sizeof(*rtereg_conf), 1)) == NULL) {
    323327                LOG_E("[rt_ereg] malloc failured");
    324328                return 1;
    325329        }
    326330        rtereg_conf_size = 1;
    327         memset(rtereg_conf, 0, sizeof(*rtereg_conf));
    328331
    329332        /* Parse the configuration file */
     
    372375        free(buf);
    373376        buf = NULL;
     377        bufsz = 0;
    374378#endif /* HAVE_REG_STARTEND */
    375379
Note: See TracChangeset for help on using the changeset viewer.