what's wrong with the code

/* Return a pointer to an array of ints with size elements.
   - strs is an array of strings where each element is the string
     representation of an integer.
   - size is the size of the array
 */

int *build_array(char **strs, int size) {
    int *ints = malloc(sizeof(int) * size);
    for (int i = 0; i < size; i++) {
        ints[i] = (int) strtol(strs[i], NULL, 10);
    }
    return ints;


}
