With this little information it is pretty much impossible to say if it is ok, really need much more information like what the prototype of the function is, how ptrToPtrsArry is declared, how the array being returned is allocated (most critical here), how the array is used, if there are threading constaints and more.
Basically returning an array of pointer is in no respect different than returning an array of non pointer elements.
For both cases using an expression like "return *ptrToPtrsArry" probably means that ptrToPtrsArry is defined with one indirection too much, with one indirection which does not add any value, just complicates matters and slows everything down a bit.
Not that in C with arrays usually a pointer to the first element of the array is used and not a pointer to an array.
Say with the array
> int my_array[10];
a variable of type
> int* ptr = my_array;
is used to refer to the array and not a pointer to an array:
Not used typically: > int (*ptr_to_array)[10] = &my_array;
Daniel