Use function prototype `static int handleSignalStrength(char *line, RIL_SignalStrength_v6* response)` will make the lines easier here:
```
static int handleSignalStrength(char *line, RIL_SignalStrength_v6 *response) {
    int num = sizeof(RIL_SignalStrength_v6) / sizeof(int);
    int *p = (int *)response;

    while (num--) {
        if (at_tok_nextint(&line, p++) < 0) {
            return -1;
        }
    }
    return 0;
}
```
Then we don't need those malloc/free stuff.