diff options
author | Martin Pool <mbp@samba.org> | 2001-11-26 07:58:47 +0000 |
---|---|---|
committer | Martin Pool <mbp@samba.org> | 2001-11-26 07:58:47 +0000 |
commit | 3d2e458a4d66ad09932cc350359e5f273de072eb (patch) | |
tree | 53f32f1a9a03587d0c6fdf6ad4acc375e61a4954 /loadparm.c | |
parent | a57568d7167cb54b9b0802aeabf5a424749fbd65 (diff) | |
download | rsync-3d2e458a4d66ad09932cc350359e5f273de072eb.tar.gz rsync-3d2e458a4d66ad09932cc350359e5f273de072eb.tar.bz2 rsync-3d2e458a4d66ad09932cc350359e5f273de072eb.zip |
Fix a small memory leak that was causing an Insure warning.
Diffstat (limited to 'loadparm.c')
-rw-r--r-- | loadparm.c | 18 |
1 files changed, 16 insertions, 2 deletions
@@ -1,6 +1,11 @@ /* This is based on loadparm.c from Samba, written by Andrew Tridgell and Karl Auer */ +/* some fixes + * + * Copyright (C) 2001 by Martin Pool <mbp@samba.org> + */ + /* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -379,14 +384,23 @@ static void init_service(service *pservice) copy_service(pservice,&sDefault); } -static void string_set(char **s, char *v) + +/** + * Assign a copy of @p v to @p *s, freeing any existing values and + * handling NULL strings. @p *v must be initialized when this is + * called, either to NULL or a malloc'd string. + **/ +static void string_set(char **s, const char *v) { if (!v) { *s = NULL; return; } + if (*s) + free(*s); *s = strdup(v); - if (!*s) exit_cleanup(RERR_MALLOC); + if (!*s) + exit_cleanup(RERR_MALLOC); } |