Skip to content

Commit 23a8dcd

Browse files
committed
yang update BUGFIX check asprintf return val
1 parent e7aef42 commit 23a8dcd

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

‎tools/update/yang_update.c‎

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ yu_log_plg_err(const struct ly_ctx *ctx, LY_ERR err_code, const char *msg_start,
181181
{
182182
char *feats_str = NULL, *msg = NULL;
183183
const char *rev_type, *rev = NULL;
184+
int r;
184185

185186
assert(msg_start && mod_name && (!features || revision_old || revision_new));
186187

@@ -194,14 +195,18 @@ yu_log_plg_err(const struct ly_ctx *ctx, LY_ERR err_code, const char *msg_start,
194195

195196
if (features) {
196197
feats_str = yu_features_str(features);
197-
asprintf(&msg, "%s \"%s\" with %s revision %s and features %s.", msg_start, mod_name, rev_type, rev, feats_str);
198+
r = asprintf(&msg, "%s \"%s\" with %s revision %s and features %s.", msg_start, mod_name, rev_type, rev, feats_str);
198199
} else if (rev) {
199-
asprintf(&msg, "%s \"%s\" with %s revision %s.", msg_start, mod_name, rev_type, rev);
200+
r = asprintf(&msg, "%s \"%s\" with %s revision %s.", msg_start, mod_name, rev_type, rev);
200201
} else {
201-
asprintf(&msg, "%s \"%s\".", msg_start, mod_name);
202+
r = asprintf(&msg, "%s \"%s\".", msg_start, mod_name);
202203
}
203204

204-
LOGERR(ctx, err_code, "%s", msg);
205+
if (r == -1) {
206+
LOGMEM(ctx);
207+
} else {
208+
LOGERR(ctx, err_code, "%s", msg);
209+
}
205210

206211
free(feats_str);
207212
free(msg);

0 commit comments

Comments
 (0)