• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mendersoftware / mender-mcu / 1749194361

02 Apr 2025 11:15AM UTC coverage: 23.209% (-34.4%) from 57.567%
1749194361

push

gitlab-ci

web-flow
Merge pull request #179 from danielskinstad/rollback-logic

Fix rollback logic

0 of 9 new or added lines in 1 file covered. (0.0%)

960 existing lines in 10 files now uncovered.

716 of 3085 relevant lines covered (23.21%)

11.45 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

65.22
/src/core/alloc.c
1
/**
2
 * @file      alloc.c
3
 * @brief     Platform-independent parts of the Mender memory management implementation
4
 *
5
 * Copyright Northern.tech AS
6
 *
7
 * Licensed under the Apache License, Version 2.0 (the "License");
8
 * you may not use this file except in compliance with the License.
9
 * You may obtain a copy of the License at
10
 *
11
 *     http://www.apache.org/licenses/LICENSE-2.0
12
 *
13
 * Unless required by applicable law or agreed to in writing, software
14
 * distributed under the License is distributed on an "AS IS" BASIS,
15
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
 * See the License for the specific language governing permissions and
17
 * limitations under the License.
18
 */
19

20
#include <stdlib.h> /* malloc(),... */
21
#include <string.h> /* memset() */
22

23
#include "alloc.h"
24

25
static MenderAllocator   malloc_fn  = NULL;
26
static MenderReallocator realloc_fn = NULL;
27
static MenderDeallocator free_fn    = NULL;
28

29
void
UNCOV
30
mender_set_allocation_funcs(MenderAllocator malloc_func, MenderReallocator realloc_func, MenderDeallocator free_func) {
×
UNCOV
31
    malloc_fn  = malloc_func;
×
UNCOV
32
    realloc_fn = realloc_func;
×
UNCOV
33
    free_fn    = free_func;
×
UNCOV
34
}
×
35

36
void *
37
mender_malloc(size_t size) {
419✔
38
    if (NULL == malloc_fn) {
419✔
39
        return malloc(size);
419✔
40
    }
UNCOV
41
    return malloc_fn(size);
×
42
}
43

44
void *
45
mender_calloc(size_t n, size_t size) {
110✔
46
    void *ret = mender_malloc(n * size);
110✔
47
    if (NULL != ret) {
110✔
48
        memset(ret, 0, n * size);
110✔
49
    }
50
    return ret;
110✔
51
}
52

53
void *
54
mender_realloc(void *ptr, size_t size) {
29✔
55
    if (NULL == realloc_fn) {
29✔
56
        return realloc(ptr, size);
29✔
57
    }
UNCOV
58
    return realloc_fn(ptr, size);
×
59
}
60

61
void
62
mender_free(void *ptr) {
542✔
63
    if (NULL == free_fn) {
542✔
64
        free(ptr);
542✔
65
        return;
542✔
66
    }
UNCOV
67
    free_fn(ptr);
×
68
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc