浏览代码

ctl: free allocated pointer in case of error

Daniel-Constantin Mierla 11 年之前
父节点
当前提交
ccd1593834
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      modules/ctl/binrpc_run.c

+ 1 - 0
modules/ctl/binrpc_run.c

@@ -804,6 +804,7 @@ inline static str* binrpc_val_conv_str(struct binrpc_ctx* ctx,
 			s=int2str(v->u.intval, &len);
 			ret=ctl_malloc(sizeof(*ret)+len+1);
 			if (ret==0 || binrpc_gc_track(ctx, ret)!=0){
+				if(ret!=0) ctl_free(ret);
 				*err=E_BINRPC_OVERFLOW;
 				return 0;
 			}