소스 검색

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;
 			}