Просмотр исходного кода

closing a descriptor in error case

Stasik0 лет назад: 9
Родитель
Сommit
9bd3fb19ba
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      examples/server.c

+ 3 - 1
examples/server.c

@@ -179,8 +179,10 @@ static UA_ByteString loadCertificate(void) {
     fseek(fp, 0, SEEK_END);
     fseek(fp, 0, SEEK_END);
     certificate.length = ftell(fp);
     certificate.length = ftell(fp);
     certificate.data = malloc(certificate.length*sizeof(UA_Byte));
     certificate.data = malloc(certificate.length*sizeof(UA_Byte));
-	if(!certificate.data)
+	if(!certificate.data){
+		fclose(fp);
 		return certificate;
 		return certificate;
+	}
 
 
     fseek(fp, 0, SEEK_SET);
     fseek(fp, 0, SEEK_SET);
     if(fread(certificate.data, sizeof(UA_Byte), certificate.length, fp) < (size_t)certificate.length)
     if(fread(certificate.data, sizeof(UA_Byte), certificate.length, fp) < (size_t)certificate.length)